首页 > 代码库 > 程序中使用事务来管理sql语句的执行,执行失败时,可以达到回滚的要求。
程序中使用事务来管理sql语句的执行,执行失败时,可以达到回滚的要求。
1、设置使用事务的SQL执行语句
1 /// <summary> 2 /// 使用有事务的SQL语句 3 /// </summary> 4 /// <param name="sql"></param> 5 /// <param name="conn"></param> 6 /// <param name="tran"></param> 7 /// <returns></returns> 8 public int Execsql(string sql,SqlConnection conn,SqlTransaction tran) 9 { 10 OpenConn(conn); 11 SqlCommand cmd = new SqlCommand(sql, conn); 12 cmd.Transaction = tran; 13 int i = cmd.ExecuteNonQuery(); 14 Console.WriteLine(string.Format("执行带事务:影响: {0}行; 语句:{1}", i, sql)); 15 return i; 16 }
2、在程序中调用
1 using(SqlTransaction tran = conn.BeginTransaction()) 2 { 3 try 4 { 5 if (dgvMast.CurrentRow != null) 6 { 7 Program.DB.Execsql(sqlSub1, conn, tran);
program.DB.Execsql(sqlSub2, conn, tran); 14 tran.Commit();//事务提交 15 } 16 } 17 catch(Exception ex)//对异常处理 18 { 19 tran.Rollback();//异常时候,事务回滚 20 MessageBox.Show(ex.Message,MessageBoxButtons.OK, MessageBoxIcon.Error); 21 } 22 23 }
可以到要求sql语句执行的一致性.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。