怎么样在DATAGRID中显示另外一个表的数据?急~~~(200分)

  • 主题发起人 主题发起人 f_inter
  • 开始时间 开始时间
F

f_inter

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在DATAGRID中显示另外一个表的数据.不知道怎么实现.现在只会在WINDOWS程序里做.WEB里,还不知道。急.
 
你用ADOQUER
把SQL。写成二个表的关联语句,然后直接显示就可以了。其实和一个表没有什么区别的。主要是写关联SQL语句。
 
给段代码你领会一下精神,记得给分.
procedure TForm1.FormCreate(Sender: TObject);//数据库连接代码
begin
AConnection:=createoleobject('ADODB.Connection');
AConnection.Open('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db.mdb;Persist Security Info=False');
end;

procedure TForm1.Button1Click(Sender: TObject);//数据库表列举
var i:Integer;
begin
i := 0;
ARecordSet:=CreateOleObject('ADODB.RecordSet');
ARecordSet.open( 'Select * from userinfo',AConnection,3,3);
StringGrid1.RowCount := ARecordSet.RecordCount+1;
StringGrid1.ColCount := 2;
while not ARecordSet.eofdo
begin
StringGrid1.Cells[0,i]:= ARecordSet.Fields['name'].Value;
StringGrid1.Cells[1,i]:= ARecordSet.Fields['pass'].Value;
i := i+1;
ARecordSet.movenext;
end;
//表1普通用户表的列举
ARecordSet:=CreateOleObject('ADODB.RecordSet');
ARecordSet.open( 'Select * from userinfo',AConnection,3,3);
StringGrid1.RowCount := ARecordSet.RecordCount+1;
StringGrid1.ColCount := 2;
while not ARecordSet.eofdo
begin
StringGrid1.Cells[0,i]:= ARecordSet.Fields['name'].Value;
StringGrid1.Cells[1,i]:= ARecordSet.Fields['pass'].Value;
i := i+1;
ARecordSet.movenext;
end;
//表2VIP会员表的列举
ARecordSet:=CreateOleObject('ADODB.RecordSet');
ARecordSet.open( 'Select * from Vipuserinfo',AConnection,3,3);
StringGrid1.RowCount := ARecordSet.RecordCount+1;
StringGrid1.ColCount := 2;
while not ARecordSet.eofdo
begin
StringGrid1.Cells[0,i]:= ARecordSet.Fields['name'].Value;
StringGrid1.Cells[1,i]:= ARecordSet.Fields['pass'].Value;
i := i+1;
ARecordSet.movenext;
end;

end;
 
恩。我再看看。不知道还有其他的想法没
 
我觉得无头骑士的方法不错
我都用这种
 
问题解决了。呵呵。送分吧.
 
后退
顶部