set cnn=new adodb.connection
cnn.open cnnstringset rst=new adodb.recordset
rst.open .....
rst.movefirstcnn.begintrans     '事务处理开始
    .........
    rst.update
cnn.committrans    '提交事务处理rst.close
cnn.close

解决方案 »

  1.   

    不会吧,什么错?
    set cnn=new adodb.connection
    cnn.open cnnstring
    on error goto HandError
    cnn.begintrans     '事务处理开始
        .........
        rst.update
    cnn.committrans    '提交事务处理
    cnn.close
    exit sub
    HandError:
      cnn.close
      

  2.   

    你的cn.rollbacktrans應該在cn.begintrans和cn.committrans之間吧
    cn.begintrans
       ....
       if    ....
          cn.rollbacktrans
       end if
       ....
    cn.committras
      

  3.   

    set cnn=new adodb.connection
    cnn.open cnnstring
    on error goto HandError
    cnn.begintrans     '事务处理开始
        .........
        rst.update
    cnn.committrans    '提交事务处理
    cnn.close
    exit sub
    HandError:
      cn.rollbacktrans
      

  4.   

    Sub Add()
    On Error Goto ErrRowoCon.BeginTrans
    fRet=oCon.Delete
    fRet=oCon.Add
    ...
    If fRet=False Then Goto ErrRow
    oCon.CommitTrans
    MsgBox "OK!"
    Goto EndRow
    ErrRow:
    oCon.RollbackTrans
    Msgbox "Failed"
    EndRow:
    Set ..=Nothing
    End Sub
      

  5.   

    我基本上不用事务的,感觉功能是满强大,但我无法自己控制
    还是老老实实的用sql语句吧