我有两张主从表,我如何判断,这两张表的某张修改了,而且同时保存?
是不是两张表都要判断modified ,delete ,insert三种情况,这张表用的ado缓存的方式,请问,如何让两张表同时更新成功。
我这样写的:
if (dbgridbig.DataSource.DataSet.Modified) or (dbgridsmall.DataSource.DataSet.Modified) then
begin
if dbgridbig.DataSource.DataSet.Modified then
DMpact.ADOAreabig.UpdateBatch(arAll)
else
DMpact.ADOAreasmall.UpdateBatch(arAll); showMessage('数据保存成功!');
close;
exit;
end
else close;
不知这样写可否,我这样根本没有判断是否第一张表更新成功,就更新了第二张表。而且仅通过modified不同判断出delete的,能否用一个很少的属性判断出,两张表是否修改(包括新增的和删除的)????谢谢谢谢!
是不是两张表都要判断modified ,delete ,insert三种情况,这张表用的ado缓存的方式,请问,如何让两张表同时更新成功。
我这样写的:
if (dbgridbig.DataSource.DataSet.Modified) or (dbgridsmall.DataSource.DataSet.Modified) then
begin
if dbgridbig.DataSource.DataSet.Modified then
DMpact.ADOAreabig.UpdateBatch(arAll)
else
DMpact.ADOAreasmall.UpdateBatch(arAll); showMessage('数据保存成功!');
close;
exit;
end
else close;
不知这样写可否,我这样根本没有判断是否第一张表更新成功,就更新了第二张表。而且仅通过modified不同判断出delete的,能否用一个很少的属性判断出,两张表是否修改(包括新增的和删除的)????谢谢谢谢!
我使用的ado方式,根本没有用database,事务好像不行,我查了一下,好像应该是Database1.StartTransaction;没用database该如何写呢??谢谢!
if Table1.State in [dsInsert,dsEdit] then
//...表明有修改动作,以下就是作你的事了
adoconnection1.begintrans;
adocconnection1.commit;
adoconnnection1.rollback.
你说的ondatachaned我没找到这个事件,我在adodataset组件上找到了recordssetchangecomplete,是这个么??
delete的数据为什么监测不到呢??????我删除了dbgrid数据,不做任何其他修改,state永远是dsbrowse,如何判断是否delete,我也好保存数据呀????????谢谢!!!