📄 为什么我的里层事务嵌套无效.txt
字号:
为什么我的里层事务嵌套无效?
虽然使用多层事务会让我们的数据控制能力大大提高,但只能最多使用五层嵌套事务:
Dim con As ADODB.Connection
Dim iLevel As Integer
Set con = New ADODB.Connection
con.CursorLocation = adUseClient
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=NWind.mdb;"
con.BeginTrans
' 改动 1
con.BeginTrans
' 改动 2
con.BeginTrans
' 改动 3
iLevel = con.BeginTrans
' 改动 4
MsgBox "Level " & iLevel
con.CommitTrans
con.RollbackTrans
con.CommitTrans
con.CommitTrans
con.Close
Set con = Nothing
可以看到,在上面这个例子中,改动1和2将成功,改动3和4无效。改动4表面上已经被提交,但由于第三层事务回退,从而导致所有它里面的事务都被回退。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -