---事务更新问题,怎样取消事务??? (100分)

F

fsmei

Unregistered / Unconfirmed
GUEST, unregistred user!
运行事务更新,如果这时候想取消,不更新数据库。但之前已经更新了一部分数据了。怎样取消事务?

---事务更新---
ADOConnection1.BeginTrans;//事务开始
try
clientdataset1.ApplyUpdates(-1);
clientdataset2.ApplyUpdates(-1);
//Abort;//这里怎样触发异常,使事务取消,Abort不行啊
except
ADOConnection1.RollbackTrans;
raise;
end;
DM.ADOConnection1.CommitTrans;
 
不太明白你的意思。

先说说吧:
第一、
rollback 只能对本事务有效,
事务一经commit就不能 取消了。

第二、只有commit时,才更新到数据库中,这之前,是不会更新到数据库中的。

 
楼住,即使你调用了applyupdates,数据库仍然没有改动的,直到你调用commit,你看看
applyupdates的说明
 
ADOConnection1.BeginTrans;//事务开始
try
clientdataset1.ApplyUpdates(-1);
clientdataset2.ApplyUpdates(-1);
ADOConnection1.CommitTrans;
except
ADOConnection1.RollbackTrans;
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部