我认为在 asp 页面中写事务处理没有真正执行,除非写在 存储过程中

解决方案 »

  1.   

    rs.movenext 出错 一般是 到了数据集末尾标志位了
    你使用 do while 语句则会先执行后判断,如果数据库本来是空,select 语句得到的就会使空集
      

  2.   

    没有到数据集末尾的,程序绝对没问题,不用事务的话一切正常,当里面有多条符合条件的记录时,可以执行第一行,然后运行到rs.movenext就出错了ITransaction::Commit 或 ITransaction::Abort 被调用,并且对象处于 zombie 状态。
      

  3.   

    我也想知道这个问题啊,有高手来帮个忙哦!
    下面是我的大程序的结构:我是做EXcel导入SQl时写的下面的程序,如果其中有一笔数据insert失败,就全部回滚操作。但是总不成功。
    有高手来指教一下吧、conn.BeginTrans 
    do while not rs.eof
       '程序……insert语句
       'if(出错)--回滚
    rs.movenext
    loop 
      

  4.   


    do while not rs.eof   执行一个存储过程rs.movenext
    loop