我用的是MySQLDriverCS.dll 操作的MYSQL数据库。现在想对其进行批处理,怎样实现事务事件,在批量插入出现错误时,如何实现回滚。请大虾们赐教一下
谢谢。

解决方案 »

  1.   

    但我连续insert 两条的话,
    前一条没问题,但后一条出错了。那前一条需要回滚。怎么办!
      

  2.   

    RollBack TransAction 回滚(撤销)事物。清除至事物起点该语句所做的数据更新操作,将数据状态回滚到事物开始的起点,并释放由事务控制的资源。
      

  3.   


    你可以这样做啊,定义一个局部变量 declare @errsum int      ----定义局部变量
    set @errsum = 0    ---初始化为0,没有错误你的Sql语句
    第一条Sql语句:
    insert .....
    set @errsum = @errsum + @@error  ----累计是否有错误
    第二条Sql语句:
    insert......
    set @errsum = @errsum + @@error  ----累计是否有错误if @errsum <> 0    ----错误不等于0的时候
       begin
          print '交易失败,事务回滚'
          rollback transaction
       end
    else
       begin
          print '交易成功,事务提交
          commit transaction
       endLZ,不好意思,最近有点忙,现在才看到你的信息。
    上面的代码应该可以解决你的问题。