错误信息:在事务中,不能存在多个使用此游标类型的记录集。请更改游标类型、提交事务,或关闭其中某个记录集。
代码:
    try{
    //连接数据库
    var conn = new ActiveXObject("ADODB.Connection");
    // DSN字符串
    var strdsn = "Driver={SQL Server};SERVER=127.0.0.1;UID=sa;PWD=1;DATABASE=wf;SelectMethod=0";
    conn.Open(strdsn);
       
       var flag=false;
       var inserStr=""; 
       conn.BeginTrans(); //开始一个事务
       for(var i = 1;i <= 10;i++){
//alert(1);
inserStr="insert into ypzl(bm,mc,gg,dw,pym) values('00','00','00','00','00')";
          var objrs = new ActiveXObject("ADODB.Recordset");
         objrs.open(inserStr, conn);
 
        }        
        conn.CommitTrans(); //提交事务
      }catch(e){
          //有异常时回滚
          conn.RollbackTrans(); //回滚事务
      }

解决方案 »

  1.   

    for(var i = 1;i <= 10;i++){
    //alert(1);
    inserStr="insert into ypzl(bm,mc,gg,dw,pym) values('00','00','00','00','00')";
    //  var objrs = new ActiveXObject("ADODB.Recordset");
    //  objrs.open(inserStr, conn);
       conn.Execute(inserStr);
      }
      

  2.   

      var objrs = new ActiveXObject("ADODB.Recordset");
    for(var i = 1;i <= 10;i++){
    //alert(1);
    inserStr="insert into ypzl(bm,mc,gg,dw,pym) values('00','00','00','00','00')";  objrs.open(inserStr, conn);不要NEW那么多吧,放外面试试
      

  3.   

    http://topic.csdn.net/t/20030605/14/1879525.html
      

  4.   

    var objrs = new ActiveXObject("ADODB.Recordset");
      objrs.open(inserStr, conn);
    换成
    conn.execute(inserStr)
      

  5.   

    Garnett_KG 是对的,我测试错了,谢谢!
    正确代码:
               //连接数据库
          var conn = new ActiveXObject("ADODB.Connection");
          // DSN字符串
          var strdsn = "Driver={SQL Server};SERVER=127.0.0.1;UID=sa;PWD=1;DATABASE=wf;SelectMethod=0";
          conn.Open(strdsn);
        
          var flag=false;
          var inserStr="";  
      var objrs = new ActiveXObject("ADODB.Recordset");
          conn.BeginTrans(); //开始一个事务
      
          for(var i = 1;i <= 10;i++){
             //alert(1);
               inserStr="insert into ypzl(bm,mc,gg,dw,pym) values('00','00','00','00','00')";
       if(i==5){
           //模拟错误记录
            inserStr=""
    inserStr="insert into ypzl(bm,mc,gg,dw,pDDDym) values('00','00','00','00','00')";
       }
               alert(i);
               //objrs.open(inserStr, conn,1,1,1);
               conn.Execute(inserStr);
       alert("插入成功");
           }
           alert("提交");
       conn.CommitTrans(); //提交事务
       }catch(e){
          alert(e.name+"--"+e.message); 
          conn.RollbackTrans(); 
       }