delphi事务处理

该示例展示了在Delphi中如何使用ADODB.Connection对象进行事务处理,包括开始事务、提交和回滚。通过BeginTrans、CommitTrans和RollBackTrans方法,确保在特定条件下(如日期为周日)对CreditCard和Shipping表的数据更新可以被撤销。
摘要由CSDN通过智能技术生成
当一组语句构成一个事务处理时,如果一个语句没有执行成功,则所有的语句都不成功。如果你需要更新多个表中的数据,你不希望对一个表的操作失败,而对其它表的操作成功了。这时所有事务处理是有用的。
例如,假设某个时间有人在你的站点上买了东西,有关的交易信息存储在两个表中 。一个表用来保存买者的信用卡信息,另一个表包含了要买的商品的信息。
现在,假如有一个人正试图从你的站点上买东西。他的信用卡号码已经输入了第一个表中。但是,就在这时,发生了意外情况,一道闪电击中了你的服务器,使第二个表没有被更新。在这种情况下,当然最后是两个表都没有被更新过。你当然不想收这个人的钱去买他不想买的东西。使用事务处理,你可以防止第二个表没有被更新而第一个表被更新的情况出现:

<%
Set MyConn=Sever.CreateObject("ADODB.Connection")
MyConn.Open "FILEDSN=d:Program Files
       Common FilesODBCData SourcesMyData.dsn"
MyConn.BeginTrans
MyConn.Execute "INSERT CreditCard (CCNum) VALUES ('5555-55-444-44-4444')"
MyConn.Execute "INSERT Shipping (Address) VALUES('Paris,France')"
MyConn.CommitTrans
MyConn.Close
%>
在这个例子中,用BeginTrans方法和CommitTrans方法来标记事务处理的开始和结束。在BeginTrans方法被调用之后,CommitTRans方法被调用之前&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值