我作的项目中,有一个窗体,先通过ado的command对象调用存储过程形成记录集显示,
然后通过cn.begintrans保存一些东西,但刚一运行到cn.begintrans就会出现以上错误,或是如何我在另一个只有一个窗体的项目中进行这个语句就没有问题,请问如何解决这个问题.多谢了

解决方案 »

  1.   

    (vb+Sqlserver:)    AdoConn.BeginTrans
        '.......
        sqlstring = _
          "DELETE FROM [USER] WHERE USER.UserID='" & UserIDSelected & "'"
        '.......        
        sqlstring = _
          "INSERT INTO [USER] VALUES ('" & Trim(TxtUserID.Text) & "','" & Trim(TxtUserName.Text) & "'," & _
            "'" & strDepID & "','" & strDepName & "'," & _
            "'" & PassCode & "'," & longPropertyID & ",'" & strUserPropertyName & "')"
            if 无异常
            '进行事务处理
                AdoConn.CommitTrans
             Else
                '如果有错误,则取消修改并结束事务
                '------------------------------
                AdoConn.RollbackTrans
             End If
      

  2.   

    不好意思,我的也出现相同错误,在
    http://expert.csdn.net/Expert/topic/2586/2586507.xml?temp=.8527643
    中有描述,希望各位能帮帮忙!
      

  3.   

    最好是加一个事务开始标志,如:on error goto errExit
    ..
    .
    intFlag=cn.begintrans  '(事务开始的话intFlag返回1)
    .
    .
    .
    .
    cn.committrans
    intFlag=0exit suberrExit:
       if intFlag=1 then cn.rollbacktrans
      

  4.   

    上面的两个可能性好像都不存在。
    yoki(小马哥) 所建议的flag,我们也是用了相应的判断条件的啊
      

  5.   

    嘿嘿,blue23, 我的问题解决了。新建一个连接就ok了,你试试?