BeginTrans、CommitTrans 和 RollbackTrans 方法

这些事务方法按如下方法管理 Connection 对象中的事务进程:

  • BeginTrans — 开始新事务。

  • CommitTrans — 保存更改并结束当前事务。它也可能启动新事务。

  • RollbackTrans — 取消当前事务中所做的更改并结束事务。它也可能启动新事务。

语法

level = object.BeginTrans()

object.BeginTrans

object.CommitTrans

object.RollbackTrans

返回值

BeginTrans 可以作为函数调用,用于返回指示事务嵌套层次的 Long 变量。

参数

object   Connection 对象。

Connection

如果想要以独立单元保存或取消对源数据所做的一系列更改,请对 Connection 对象使用这些方法。例如,要进行转帐,从一个帐户中减去某个数额并将对等数额添加到另一个帐户中。如果任何一个更新失败,都将导致帐户收支不平衡。在打开的事务中进行这些更改可确保只能选择进行全部更改或不作任何更改。

注意   并非所有的提供者都支持事务。验证提供者定义的属性“Transaction DDL”显示在 Connection 对象的 Properties 集合中,指示提供者支持事务。如果提供者不支持事务,调用这些方法之一将返回错误。

在调用 BeginTrans 方法后,提供者将不再立即提交所作的更改,直到调用 CommitTransRollbackTrans 结束事务。

对于支持嵌套事务的提供者,在打开的事务中调用 BeginTrans 方法将启动新的嵌套事务。返回值将指示嵌套层次:返回值为“1”指示打开了顶层事务(即此事务未嵌套在其他事务中),返回值为“2”指示打开了第二层事务(嵌套在顶层事务中的事务),依此类推。调用 CommitTransRollbackTrans 只影响最新打开的事务;在处理任何更高层事务之前必须关闭或回卷当前事务。

调用 CommitTrans 方法将保存连接上打开的事务中所做的更改并结束事务。调用 RollbackTrans 方法还原打开事务中所做的更改并结束事务。在无打开的事务时调用任何一种方法都会产生错误。

根据 Connection 对象的 Attributes 属性,调用 CommitTransRollbackTrans 方法都可以自动启动新事务。如果 Attributes 属性设置为 adXactCommitRetaining,在调用 CommitTrans 后提供者将自动启动新事务。如果 Attributes 属性设置为 adXactAbortRetaining,在调用 RollbackTrans 后提供者将自动启动新事务。

远程数据服务

BeginTransCommitTransRollbackTrans 方法在客户端 Connection 对象上无效。

[在线 1人]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值