如何实现事务处理?(10分)

  • 主题发起人 erbbchen
  • 开始时间
E

erbbchen

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使用事物处理:比如一个按钮包含3个操作:
1。更新表A的数据 使用adocommand.execute
2。插入新数据入表B 使用adoquery.append
3。删除表C的数据 使用adocommand.execute
怎样保证能够三者都执行成功才提交数据,否则回滚
我现在使用delphi6 + access能不能作这些?
是不是一定要在数据库中做比较好,这样最好用sql server?
 
假设他们都连接的AdoConnection.
那么
AdoConnection.BeginTrans;//开始事务
Try
1。更新表A的数据 使用adocommand.execute
2。插入新数据入表B 使用adoquery.append
3。删除表C的数据 使用adocommand.execute
Except
AdoConnection.RollbackTrans;//取消事务
Exit;//(或者Raise)
end;
AdoConnection.CommitTrans;//提交事务
 
access和 SQL server 主要是系统的规模不同
但支持事务的能力还是不错的!

try
ADOConnection1.BeginTrans
do something
ADOConnection1.CommitTrans;

except
ADOConnection1.RollbackTrans
 
多人接受答案了。
 
顶部