BeginTrans、CommitTrans 和 RollbackTrans 方法 (ADO)
这些事务方法管理 Connection 对象中的事务处理,如下所示:
BeginTrans 开始新事务。
CommitTrans 保存所有更改并结束当前事务。 它还可能启动新事务。
RollbackTrans 取消在当前事务期间所做的任何更改并结束事务。 它还可能启动新事务。
语法
level = object.BeginTrans()
object.BeginTrans
object.CommitTrans
object.RollbackTrans
返回值
BeginTrans 可以调用为一个函数,该函数返回指示事务嵌套级别的 Long 变量。
参数
对象
连接 对象。
连接
如果要将源数据所做的一系列更改保存或取消为单个单元,请将这些方法与 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 对象上不可用。
适用于
另请参阅
BeginTrans、CommitTrans 和 RollbackTrans 方法示例 (VB)
BeginTrans、CommitTrans 和 RollbackTrans 方法示例(VC++)
Attributes 属性 (ADO)