这些事务方法按如下方法管理 Connection 对象中的事务进程:
- BeginTrans — 开始新事务。
- CommitTrans — 保存更改并结束当前事务。它也可能启动新事务。
- RollbackTrans — 取消当前事务中所做的更改并结束事务。它也可能启动新事务。
语法
level = object.BeginTrans()
object.BeginTrans
object.CommitTrans
object.RollbackTrans
返回值
BeginTrans 可以作为函数调用,用于返回指示事务嵌套层次的 Long 变量。
参数
object Connection 对象。
Connection
如果想要以独立单元保存或取消对源数据所做的一系列更改,请对 Connection 对象使用这些方法。例如,要进行转帐,从一个帐户中减去某个数额并将对等数额添加到另一个帐户中。如果任何一个更新失败,都将导致帐户收支不平衡。在打开的事务中进行这些更改可确保只能选择进行全部更改或不作任何更改。
注意 并非所有的提供者都支持事务。验证提供者定义的属性“Transaction DDL”显示在 Connection 对象的 Properties 集合中,指示提供者支持事务。如果提供者不支持事务,调用这些方法之一将返回错误。
在调用 BeginTrans 方法后,提供者将不再立即提交所作的更改,直到调用 CommitTrans 或 RollbackTrans 结束事务。
对于支持嵌套事务的提供者,在打开的事务中调用 BeginTrans 方法将启动新的嵌套事务。返回值将指示嵌套层次:返回值为“1”指示打开了顶层事务(即此事务未嵌套在其他事务中),返回值为“2”指示打开了第二层事务(嵌套在顶层事务中的事务),依此类推。调用 CommitTrans 或 RollbackTrans 只影响最新打开的事务;在处理任何更高层事务之前必须关闭或回卷当前事务。
调用 CommitTrans 方法将保存连接上打开的事务中所做的更改并结束事务。调用 RollbackTrans 方法还原打开事务中所做的更改并结束事务。在无打开的事务时调用任何一种方法都会产生错误。
根据 Connection 对象的 Attributes 属性,调用 CommitTrans 或 RollbackTrans 方法都可以自动启动新事务。如果 Attributes 属性设置为 adXactCommitRetaining,在调用 CommitTrans 后提供者将自动启动新事务。如果 Attributes 属性设置为 adXactAbortRetaining,在调用 RollbackTrans 后提供者将自动启动新事务。
远程数据服务
BeginTrans、CommitTrans 和 RollbackTrans 方法在客户端 Connection 对象上无效。
[在线 1人]