查看一下你所创建的MTS组件的Instancing和MTSTransactionMode类型选项。

解决方案 »

  1.   

    我是在Win2000下的,是COM+组件,另外,组件的代码如下:
    '  Option Explicit
          Public Function KCXX(ByVal KCID As String) As ADODB.Recordset     On Error GoTo ErrorHandle     Dim strSQL As String     Dim objContext As ObjectContext      ' 建立事务性组件     Set objContext = GetObjectContext()     Dim objADOConn As ADODB.Connection     Dim objRS As ADODB.Recordset     Set objADOConn = New ADODB.Connection     With objADOConn     .ConnectionTimeout = 10     .ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=XXK"    ' 通过OLEDB建立与数据库的连接     .Open     End With     Set objRS = New ADODB.Recordset     strSQL = "SELECT * from 选修课 where 课程号='" & KCID & "'"    '"like"关键字可实现模糊查询     objRS.Open strSQL, objADOConn     ' 进行数据库查询
              Set KCXX = objRS     objContext.SetComplte     ' 若事务成功完成,则提交该事务     objADOConn.Close     Set objADOConn = Nothing     Set objRS = Nothing     strSQL = ""     '关闭数据库连接,释放所有对象     Exit FunctionErrorHandle:    objContext.SetAbort
    Set KCXX = Nothing     ' 若事务失败,则回滚事务    End Function