我正在将 DBExpress 与 blackfish 一起使用。
如何进行多笔交易?
我有几个 GRID 都在一次编辑中,所有的都必须一次保存。开始编辑和发布是由最终用户决定的,因为他工作,并且在应用程序的不同位置,因此很难在一次事务中完成。
更新:
好的,问题是应用程序同时工作,我必须尽快提交新数据,以便其他用户可以访问它。
因此,网格信息将在发布后不久提交,或者与发布一起提交。
我正在将 DBExpress 与 blackfish 一起使用。
如何进行多笔交易?
我有几个 GRID 都在一次编辑中,所有的都必须一次保存。开始编辑和发布是由最终用户决定的,因为他工作,并且在应用程序的不同位置,因此很难在一次事务中完成。
更新:
好的,问题是应用程序同时工作,我必须尽快提交新数据,以便其他用户可以访问它。
因此,网格信息将在发布后不久提交,或者与发布一起提交。
事务在各种数据集上“持续”工作。如果您使用 dbexpress,那就更好了。简单地说,让您的最终用户在各种网格上进行所需的所有编辑、删除和发布,当您需要保存他的工作时,请执行以下操作:
var
mytransaction : TDBXTransaction;
begin
mytransaction := sqlconnection1.BeginTransaction;
try
if clientdataset1.ChangeCount > 0 then clientdataset1.ApplyUpdates(0);
...
if clientdatasetn.ChangeCount > 0 then clientdatasetn.ApplyUpdates(0);
sqlconnection1.CommitFreeAndNil(mytransaction);
except
sqlconnection1.RollbackFreeAndNil(mytransaction);
end;
end;