On Error GoTo testerr
Dim obj As CDBAccess.IDBACCESS
Dim conn As New ADODB.Connection
conn.Provider = mconn
conn.Open mconn
Dim cmd As New ADODB.Command
Dim context As ObjectContext
Set context = GetObjectContext()
Set obj = New CDBAccess.ImpDBACCESS
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "Update TB_Staff Set FD_Islogon=1 where FD_StaffEName='wx'"
cmd.Execute
If Err.Number <> 0 Then
context.SetAbort
Exit Sub
End If
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "Updat TB_Staff Set FD_StaffCName='tiger' where FD_StaffEName='wx'"
cmd.Execute
If Err.Number <> 0 Then
context.SetAbort
Exit Sub
End If
context.SetComplete
Exit Sub
testerr:
context.SetAbort
第二个SQL语句执行失败,为什么第一个SQL语句所做的操作不能回滚
Dim obj As CDBAccess.IDBACCESS
Dim conn As New ADODB.Connection
conn.Provider = mconn
conn.Open mconn
Dim cmd As New ADODB.Command
Dim context As ObjectContext
Set context = GetObjectContext()
Set obj = New CDBAccess.ImpDBACCESS
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "Update TB_Staff Set FD_Islogon=1 where FD_StaffEName='wx'"
cmd.Execute
If Err.Number <> 0 Then
context.SetAbort
Exit Sub
End If
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "Updat TB_Staff Set FD_StaffCName='tiger' where FD_StaffEName='wx'"
cmd.Execute
If Err.Number <> 0 Then
context.SetAbort
Exit Sub
End If
context.SetComplete
Exit Sub
testerr:
context.SetAbort
第二个SQL语句执行失败,为什么第一个SQL语句所做的操作不能回滚
connection.StartTrans
connection.CommitTrans
Connection.RollbackTrans
cmd.ActiveConnection = conn
cmd.CommandType = adCmdText
cmd.CommandText = "Updat TB_Staff Set FD_StaffCName='tiger' where FD_StaffEName='wx'"
cmd.Execute换成
conn.excute "Updat TB_Staff Set FD_StaffCName='tiger' where FD_StaffEName='wx'"