读书人

Delphi中DBGrid显示主从表的有关问题

发布时间: 2012-06-08 12:55:24 作者: rapoo

Delphi中DBGrid显示主从表的问题
delphi中用两个DBGrid显示一对主从表,当点击主表的DBGrid时,从表会立刻显示相关联的数据。
当单击从表DBGrid的添加按钮时,添加的数据自动设置关联字段的值

[解决办法]
"当点击主表的DBGrid时,从表会立刻显示相关联的数据"

-- 把主从表的关联字段设好就可以啦

"当单击从表DBGrid的添加按钮时,添加的数据自动设置关联字段的值"

--在从表的AfterInsert事件对从表的关联字段赋值
[解决办法]
比如2表关联的字段是id; Adoquery1,Adoquery2分别对应dbgrid1与dbgrid2

则程序启动时(比如onCreat时),打开Adoquery1:
with adoquery1 do
beign
close;
sql.text:='select * from t';
open;
end;

在ADOQuery1AfterScroll事件打开adoquery2:
with adoquery2 do
beign
close;
sql.text:='select * from t where id='+Quotedstr(dataset.fieldbyname('id').asstring);
open;
end;

添加/修改时,记得从表ID要跟着主表变化,删除时根据id先删除从表,然后主表

读书人网 >.NET

热点推荐