你对com+事务处理还不了解!

解决方案 »

  1.   

    也许是我没说清楚,我现在有个类Class A,有三个借口,X,Y,Z,每个接口都有自己独立的数据库操作,对用户来说,顺序调用X、Y可以实现一个功能,顺序调用X、Z有可以实现另外一个功能,对每个功能来说当然应该采用事务机制,这样说有没有问题?
      

  2.   

    我现在是这样做的,在类模块定义了一个ctx AS objectcontextfunction A()
    set ctx=getobject
    ''''recordset操作
    if Success then
        Ctx.setComplete
    else
        ctx.setabort
    end if
    end functionfunction B()
    set ctx=getobject
    ''''recordset操作
    if Success then
        Ctx.setComplete
    else
        ctx.setabort
    end if
    end functionfunction C()
    set ctx=getobject
    ''''recordset操作
    if Success then
        Ctx.setComplete
    else
        ctx.setabort
    end if
    end function
      

  3.   

    但你可以这样
    在class头
        Implements ObjectControl
        
        Private ctxObject As ObjectContext
        
        Private Sub objectcontrol_activate()
            Set ctxObject = GetObjectContext
        End Sub
        
        Private Function objectcontrol_canbepooled() As Boolean
            objectcontrol_canbepooled = True
        End Function
        
        Private Sub objectcontrol_deactivate()
            Set ctxObject = Nothing
        End Sub
    然后在每个函数里
    if success then
        ctxObject.setcomplete
    else
        ctxObject.setabort
    end if
      

  4.   

    我看了一下最新版的msdn,你的方法不错,多谢
    马上给分
    另外还有一个小问题:
    当我通过set 语句进行对象赋值时,vb实际上是传的一个引用,那么回不回将相应的objectContext也传递过去?
    比如Set A=B
    如果A和B所在的套间不同的话,会不会使A的objectcontext成为b的objectcontext的一个引用?