使用ADOQuery1,DataSetProvider1,ClientDataSet1,DataSource1,DBGrid1
显示A表数据你自己做了
当想显示B表数据时,在DBGrid1的OnCellClick事件中写入:
var
sTxm : string;
begin
sTxm := ClientDataSet1.FieldByName('A表和B表关联的列名').AsString;
with ClientDataSet1 do
begin
close;
commandtext := 'select * from table where 列名 = '''+sTxm+'''';
open;
end;
end;
.....你连DataSetProvider1,ClientDataSet1都没用过???
算了,你这样改,只使用Tadoquery和DataSource1,DBGrid1行了
先实现显示A表的功能
然后在DBGrid1的OnCellClick事件中写入:
var
sTxm : string;
begin
sTxm := adoquery1.FieldByName('A表和B表关联的列名').AsString;
with with do
begin
close;
sql.clear;
sql.text := 'select * from table where 列名 = '''+sTxm+'''';
open;
end;
end;