大家好,我现在遇到这样一个疑问
我现在2个dbgrid期中一个Adbgrid(主表),一个是Bdbgrid(明细表),我现在想用ctrl键先选主表的主记录,然后再选明细表的明细记录,最后再把我所选的所有明细记录都保存在一个数据库表里面,有什么好方法吗?谢谢
我现在2个dbgrid期中一个Adbgrid(主表),一个是Bdbgrid(明细表),我现在想用ctrl键先选主表的主记录,然后再选明细表的明细记录,最后再把我所选的所有明细记录都保存在一个数据库表里面,有什么好方法吗?谢谢
调试欢乐多
对是的,我从Adbgrid(主表)中先一条记录,Bdbgrid(明细表)显示到对应的5条明细记录,然后我再从Bdbgrid(明细表)里面选前3条明细记录,然后我再从Adbgrid(主表)再选一条记录,Bdbgrid(明细表)又显示到对应的11明细记录记录,然后我再从Bdbgrid(明细表)里面选7条明细记录。我共选了两次Adbgrid(主表)记录,在Bdbgird(明细表)中选对应的明细记录3+7=10,我现在想把我选中的这10条明细记录写到数据库里面去,谢谢大家!
在连明细表的表格控件的双激事件中写代码,以下例子ADOquery3是连你要写入的数据表的:procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
i:integer;
begin
if DBGrid1.SelectedRows.Count>0 then begin
with ADOQuery2 begin
DisableControls;
for i :=0 to DBGrid1.SelectedRows.Count-1 do begin
GotoBook(pointer(DBGrid1.SelectedRows.Items[i]));
ADOquery3.Append;
ADOquery3.FieldValues['x_a']:=FieldValues['x_a'];{这里}
ADOquery3.FieldValues['x_b']:=FieldValues['x_b'];
ADOquery3.post;
end;
EnableControls;
end;
end;
end;
1.当你点了主表记录时,在明细表的表格双激要写入数据库的记录,就会写入到数据库里.
2.不要忘了要将DBGrid1设置为可以多选.