在COM+里使用了事务处理,但发现根本没用。各位帮忙看看是怎么回事?
Implements ObjectControl
Private marConnectIsOpen  As Integer '0-¹Ø±Õ£¬1-´ò¿ª
Private conn As ADODB.Connection
Private strNoUse As StringPublic Function OpenConnection() As Boolean
    
    
    On Error GoTo Err
    
    Set conn = New ADODB.Connection
    conn.ConnectionString = "Provider=MSDASQL.1;Password=explanner;Persist Security Info=True;User ID=explanner;Data Source=explanner"
    conn.Open
    OpenConnection = True
    marConnectIsOpen = 1
    Exit Function
Err:
    OpenConnection = False
    'MsgBox Err.Description
    marConnectIsOpen = 0
End FunctionPublic Property Get ConnectIsOpen() As Integer
    ConnectIsOpen = marConnectIsOpen
End PropertyPublic Function InsertTable() As String
Dim rs As ADODB.Recordset
Dim objText As ObjectContext
Dim str As StringOn Error GoTo ErrSet objText = GetObjectContext'conn.BeginTrans
InsertTable = ""
Set rs = New ADODB.Recordset
'rs.CursorLocation = adUseClientrs.Open "insert into item values('de','ÍйÊ','444','sdfdf')", conn, adOpenForwardOnly, adLockPessimistic
'rs.Close
rs.Open "insert into vender values('aa','sfds','34')", conn, adOpenForwardOnly, adLockPessimistic
'rs.Close
InsertTable = "success"
If Not rs Is Nothing Then
    Set rs = Nothing
End If
objText.SetComplete
'conn.CommitTransExit FunctionErr:
    objText.SetAbort
    'conn.RollbackTrans
    If Not rs Is Nothing Then
        Set rs = Nothing
    End If
    'InsertTable = False
    InsertTable = Err.Description
    marConnectIsOpen = 0
    End Function
Private Sub ObjectControl_Activate()
    strNoUse = ""
End SubPrivate Function ObjectControl_CanBePooled() As Boolean
    ObjectControl_CanBePooled = False
End FunctionPrivate Sub ObjectControl_Deactivate()
    strNoUse = ""
End Sub在InsertTable函数里使用了事务处理,但是如果当第一条语句可以插入,而第二条语句不能插入后,应该要回滚,结果却发现没有回滚,第一条语句已经正确插入。请问怎么回事??