我使用oledb连接oracle数据库,需要更新三个表,当更新第三个表时出错,这时需要撤消第一二个表的更新,在pb中用rollback就可以实现了,不知道在vb中怎么实现,请各位高手指教!多谢!

解决方案 »

  1.   

    Cnn.RollbackTrans    Cnn为你的连接
      

  2.   

    ADO对象有三个方法begintrans、committrans、rollbacktrans用来处理事务,而你的问题就是关于事务处理的问题,具体如何使用去看MSDN吧!
      

  3.   

    用ADO的事务
    开始操作数据库的时候
        cn.BeginTrans
    操作完成,如果正确
        cn.CommitTrans
    如果错误
        cn.RollbackTrans
      

  4.   

    private cmdsave_click()
    on error goto save_err
    conn.begintrans    '开始事务
        conn.execute "update ...."
        conn.execute "insert ..."
        conn.execute "delete from ..."
    conn.committrans   '提交事务
        exit sub
    '错误处理
    save_err:
        conn.rollbacktrans    '回滚事务
        msgbox "保存失败,错误原因为: " & err.description,vbexclamation,"提示"
        exit sub
    end sub