问题描述
if(ds.Tables[0].Rows.Count>0){stringsqlt="";stringconnstr="server=10.88.1.10;database=car;uid=sa;pwd=;";SqlConnectionconn=newSqlConnection(connstr);conn.Open();intcount=ds.Tables[0].Rows.Count;SqlTransactiontransaction=null;transaction=conn.BeginTransaction();for(inti=0;i<count;i++){string料号,名称,图号,规格,单位;料号=ds.Tables[0].Rows[i]["料号"].ToString();图号=ds.Tables[0].Rows[i]["图号"].ToString();名称=ds.Tables[0].Rows[i]["名称"].ToString();规格=ds.Tables[0].Rows[i]["规格"].ToString();单位=ds.Tables[0].Rows[i]["单位"].ToString();if(料号!=""&&名称!="")sqlt="insertintoGAdesno(料号,图号,名称,规格,单位)values('"+料号+"','"+图号+"','"+名称+"','"+规格+"','"+单位+"')";SqlCommandmycommand1=newSqlCommand(sqlt,conn);try{mycommand1.ExecuteNonQuery();//所有操作完成,提交transaction.Commit();dbclass.msgbox("数据导入成功!共导入"+count.ToString()+"条数据!","提示",0);conn.Close();oda.Dispose();}catch(Exceptionex){//先回滚transaction.Rollback();//下面进行异常处理//}finally{//关闭数据库连接conn.Close();}}}}
解决方案
解决方案二:
if(ds.Tables[0].Rows.Count>0){stringsqlt="";stringconnstr="server=10.88.1.10;database=car;uid=sa;pwd=;";SqlConnectionconn=newSqlConnection(connstr);conn.Open();intcount=ds.Tables[0].Rows.Count;SqlTransactiontransaction=null;transaction=conn.BeginTransaction();try{for(inti=0;i<count;i++){string料号,名称,图号,规格,单位;料号=ds.Tables[0].Rows[i]["料号"].ToString();图号=ds.Tables[0].Rows[i]["图号"].ToString();名称=ds.Tables[0].Rows[i]["名称"].ToString();规格=ds.Tables[0].Rows[i]["规格"].ToString();单位=ds.Tables[0].Rows[i]["单位"].ToString();if(料号!=""&&名称!="")sqlt="insertintoGAdesno(料号,图号,名称,规格,单位)values('"+料号+"','"+图号+"','"+名称+"','"+规格+"','"+单位+"')";SqlCommandmycommand1=newSqlCommand(sqlt,conn);mycommand1.Transaction=transaction;mycommand1.ExecuteNonQuery();//所有操作完成,提交}transaction.Commit();dbclass.msgbox("数据导入成功!共导入"+count.ToString()+"条数据!","提示",0);conn.Close();oda.Dispose();}catch(Exceptionex){//先回滚transaction.Rollback();//下面进行异常处理//}finally{//关闭数据库连接conn.Close();}
解决方案三:
if(ds.Tables[0].Rows.Count>0){stringsqlt="";stringconnstr="server=10.88.1.10;database=car;uid=sa;pwd=;";SqlConnectionconn=newSqlConnection(connstr);conn.Open();intcount=ds.Tables[0].Rows.Count;SqlTransactiontransaction=null;transaction=conn.BeginTransaction();try{for(inti=0;i<count;i++){string料号,名称,图号,规格,单位;料号=ds.Tables[0].Rows[i]["料号"].ToString();图号=ds.Tables[0].Rows[i]["图号"].ToString();名称=ds.Tables[0].Rows[i]["名称"].ToString();规格=ds.Tables[0].Rows[i]["规格"].ToString();单位=ds.Tables[0].Rows[i]["单位"].ToString();if(料号!=""&&名称!="")sqlt="insertintoGAdesno(料号,图号,名称,规格,单位)values('"+料号+"','"+图号+"','"+名称+"','"+规格+"','"+单位+"')";SqlCommandmycommand1=newSqlCommand(sqlt,conn);mycommand1.Transaction=transaction;mycommand1.ExecuteNonQuery();//所有操作完成,提交}transaction.Commit();dbclass.msgbox("数据导入成功!共导入"+count.ToString()+"条数据!","提示",0);conn.Close();oda.Dispose();}catch(Exceptionex){//先回滚transaction.Rollback();//下面进行异常处理//}finally{//关闭数据库连接conn.Close();}
解决方案四:
if(ds.Tables[0].Rows.Count>0){stringsqlt="";stringconnstr="server=10.88.1.10;database=car;uid=sa;pwd=;";SqlConnectionconn=newSqlConnection(connstr);conn.Open();intcount=ds.Tables[0].Rows.Count;SqlTransactiontransaction=null;transaction=conn.BeginTransaction();try{for(inti=0;i<count;i++){string料号,名称,图号,规格,单位;料号=ds.Tables[0].Rows[i]["料号"].ToString();图号=ds.Tables[0].Rows[i]["图号"].ToString();名称=ds.Tables[0].Rows[i]["名称"].ToString();规格=ds.Tables[0].Rows[i]["规格"].ToString();单位=ds.Tables[0].Rows[i]["单位"].ToString();if(料号!=""&&名称!="")sqlt="insertintoGAdesno(料号,图号,名称,规格,单位)values('"+料号+"','"+图号+"','"+名称+"','"+规格+"','"+单位+"')";SqlCommandmycommand1=newSqlCommand(sqlt,conn);mycommand1.Transaction=transaction;mycommand1.ExecuteNonQuery();//所有操作完成,提交}transaction.Commit();dbclass.msgbox("数据导入成功!共导入"+count.ToString()+"条数据!","提示",0);conn.Close();oda.Dispose();}catch(Exceptionex){//先回滚transaction.Rollback();//下面进行异常处理//}finally{//关闭数据库连接conn.Close();}
解决方案五:
using(SqlConnectionconnection=newSqlConnection(connectionString)){connection.Open();SqlCommandcommand=connection.CreateCommand();SqlTransactiontransaction;transaction=connection.BeginTransaction("SampleTransaction");command.Connection=connection;command.Transaction=transaction;try{command.CommandText="";command.ExecuteNonQuery();transaction.Commit();}catch(Exceptionex){try{transaction.Rollback();}catch(Exceptionex2){}}