关于DELPHI中控制事务的问题
Delphi的TDatabase控件对控制事务提控了支持,标准的用法是:
Database1.StartTransaction;
try
......
except
Database1.Rollback;
Exit;
end;
Database1.Commit;
但出现异常后回Rollback时,老是报错,说当前没有事务可以Rollback,
好像是SQLServer以经Rollback了,这是怎么回事?
问题点数:0、回复次数:3Top
1 楼wangzn1979(梦郎2003)回复于 2003-03-02 20:10:39 得分 0
应该是这样吧,帅哥
Database.StartTransaction;
try
......
Database1.Commit;
except
Database1.Rollback;
ShowMessage('Error!');
exit;
end;
Top
2 楼My_first(小@_@小)回复于 2003-03-02 20:20:08 得分 0
try
Database1.StartTransaction;
do....
Database1.Commit;
except
Database1.Rollback;
Exit;
end;
Top
3 楼13825075556(goodboy)回复于 2003-03-03 12:16:53 得分 0
Database1.Commit放在哪里是有所区别,但对我那个程序影响不大,因为我是直接向数据库里插数据的,并不会等到Database1.Commit时才触发异常,也就是说没用到缓存更新技术。
还有更奇怪的,D7的Database1.Rollback好像就没问题,D1的就有问题。Top




