多表数据更新,updatebatch(100分)

  • 主题发起人 主题发起人 delphigbg
  • 开始时间 开始时间
D

delphigbg

Unregistered / Unconfirmed
GUEST, unregistred user!
if BeforeSave then
Begin
for I:=0 to SaveCount-1 do
Begin
if Savedataset.Modified then
savedataset.Post;
end;

SBdatamode.AdoConnection.BeginTrans;
try
for I:=0 to SaveCount-1 do
begin
SaveDataset.UpdateBatch;
SaveDataset.Refresh;
end;
SBDatamode.AdoConnection.CommitTrans;
SaveDataset[0].Edit;
setFormMode(fmBrowse);
BillSpilt;
SaveWorkLog('save');
except
on e:Exception do
begin
SBDatamode.AdoConnection.RollbackTrans;
raise exception.Create(e.Message+#13+GetMsgDesc('SIfailedSAve'));
end
end;
end;
这个是我的多表更新语句,如果因为违反约束出错的话,系统现保存时就保存不了.我用事件探查器根据了,发现自从违反约束回滚后,那次保存他是update数据而不是insert.这个是什么原因.有什么办法解决吗?
 
兄弟們顶一下.
 
后退
顶部