F
fstao
Unregistered / Unconfirmed
GUEST, unregistred user!
delphi的问题:
数据库为mssql7,有两个表,分别是dbo.mastertable(主表,字段为
masterid,name)和dbo.detailtable(从表,字段为detailid,name,这个
detailid与主表masterid关联的。)。用两tquery来做一个主从关系,用两个
Tupdatesql来处理数据,master(主表,是tquery)的cachedupdate为true,
sql语句为"select masterid,name from mastertable",detail(从表,是
tquery)的cachedupdate为true,sql语句为"select detailid,name from
detailtable where detailid=:deterid"。
form1的button1的onclick事件为:
Database1.StartTransaction;
try
Master.ApplyUpdates;
detail.ApplyUpdates;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
master.CommitUpdates;
detail.commitupdates;
form1的button2的onclick事件为:
master.insert;
master的AfterScroll事件为:
DETAIL.ParamByName('detailID').VALUE:=MASTER.FIELDBYNAME
('masterid').VALUE;
Detail.Close;
detail.Open;
detail的OnNewRecord事件为:
DETAILdetailID.VALUE:=MASTERmasterID.VALUE;
这样做得先按button2,然后在主表和从表插入数据,然后再按button1,才能
把主从数据保存。这样做有一个问题,每保存一条数据都要提交一次,我想
添加十多条记录,再提交一次。我上面的代码就有点问题,我master.insert多
条记录,再提交,只能保存最后一条主表记录的从表的记录,前面从表的数据都
不能保存,但可以保存全部主表的数据。请问如何做呢?
数据库为mssql7,有两个表,分别是dbo.mastertable(主表,字段为
masterid,name)和dbo.detailtable(从表,字段为detailid,name,这个
detailid与主表masterid关联的。)。用两tquery来做一个主从关系,用两个
Tupdatesql来处理数据,master(主表,是tquery)的cachedupdate为true,
sql语句为"select masterid,name from mastertable",detail(从表,是
tquery)的cachedupdate为true,sql语句为"select detailid,name from
detailtable where detailid=:deterid"。
form1的button1的onclick事件为:
Database1.StartTransaction;
try
Master.ApplyUpdates;
detail.ApplyUpdates;
Database1.Commit;
except
Database1.Rollback;
raise;
end;
master.CommitUpdates;
detail.commitupdates;
form1的button2的onclick事件为:
master.insert;
master的AfterScroll事件为:
DETAIL.ParamByName('detailID').VALUE:=MASTER.FIELDBYNAME
('masterid').VALUE;
Detail.Close;
detail.Open;
detail的OnNewRecord事件为:
DETAILdetailID.VALUE:=MASTERmasterID.VALUE;
这样做得先按button2,然后在主表和从表插入数据,然后再按button1,才能
把主从数据保存。这样做有一个问题,每保存一条数据都要提交一次,我想
添加十多条记录,再提交一次。我上面的代码就有点问题,我master.insert多
条记录,再提交,只能保存最后一条主表记录的从表的记录,前面从表的数据都
不能保存,但可以保存全部主表的数据。请问如何做呢?