ado.net事务处理
在第19周技巧中,我们展示了事务处理,特别是它应用于DAO(数据访问对象)的过程。 在本周的技巧中,我们将说明如何在ADO(ActiveX数据对象)的上下文中使用事务处理。 如果您希望查看事务处理概述,在DAO中如何实现事务处理或一般使用事务处理时要注意的特殊问题,请参考下面的链接。
本周脚本专家技巧#19-DAO事务处理在本技巧中,我们将专注于此过程的ADO方面。 下面列出的代码显示ADO中事务处理的基本骨架格式:
On Error GoTo Err_Handler
Dim cnn As ADODB.Connection
Dim blnInTrans As Boolean
blnInTrans = False 'not in a Transaction as of yet
Set cnn = CurrentProject.Connection
'...
cnn.BeginTrans
blnInTrans = True 'now in the beginning of a Transaction
'any series of data changes here
cnn.CommitTrans
blnInTrans = False 'Transactions completed without Error
'...
Exit_Handler:
Exit Sub
Err_Handler:
If blnInTrans Then 'in the midst of a Transaction
cnn.RollbackTrans 'Restore data to pre-Transaction state
End If
'further Error processing here
Resume Exit_Handler
注意:您可以看到该代码与DAO版本非常相似,除了ADO中的事务处理方法(BeginTrans,CommitTrans和RollbackTrans)是连接对象的方法,而不是DAO中的工作区对象。
此外,DAO RollBack方法在ADO中名为RollbackTrans。
翻译自: https://bytes.com/topic/access/insights/677490-ado-transaction-processing
ado.net事务处理