错误信息:在事务中,不能存在多个使用此游标类型的记录集。请更改游标类型、提交事务,或关闭其中某个记录集。
代码:
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(); //回滚事务
}
代码:
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(); //回滚事务
}
//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);
}
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那么多吧,放外面试试
objrs.open(inserStr, conn);
换成
conn.execute(inserStr)
正确代码:
//连接数据库
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();
}