用ADO建立主从表关系,主表数据输入采用编辑框,从表数据输入采用DBGrid
,为了实现事务,主表和从表的提交模式都为“批次提交”
我的问题是:当主表新增一条记录的时候,如果不特意的POST主表的记录,那么
在从表关联的DBGRID中,任何时候都只能看到从表中的当前的那一条记录,就算
从表中已经添加了很多条,也只能看到当前的那一条,如果将主表的记录POST那么,所有的
从表记录才会列示出来,但是我觉得这样很不方便,有没有好的解决方案
,为了实现事务,主表和从表的提交模式都为“批次提交”
我的问题是:当主表新增一条记录的时候,如果不特意的POST主表的记录,那么
在从表关联的DBGRID中,任何时候都只能看到从表中的当前的那一条记录,就算
从表中已经添加了很多条,也只能看到当前的那一条,如果将主表的记录POST那么,所有的
从表记录才会列示出来,但是我觉得这样很不方便,有没有好的解决方案
因为我要把主从表的提交写入自己的控件,所以需要解决这个问题
filtered=true,filter='id=xxxx',保存以后将mastersource和masterfield加回去
试试吧一定行的
begin
adsMaster.CheckBrowseMode;
end;procedure TForm1.adsDetailNewRecord(DataSet: TDataSet);
begin
adsDetail.FieldByName('PrimatyKey').AsInteger := FieldByName('PrimatyKey').AsInteger;
end;
在从表的OnNewRecord事件中写:
adsDetail.FieldByName('DJ_ID').AsInteger :=adsMaster.FieldByName('DJ_ID').AsInteger;
me也是。
用了缓存,如果先更新从表的话,从表就找不到于主表的关联的ID,因为主表的iD还在缓存中