namespace _0001_SQLTransaction { class SQLHelper { public static int UpdateByTrans(List sqlList) { string connString = "server=.;database=StudentManager;Uid=sa;pwd=password01!"; SqlConnection conn = new SqlConnection(connString); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; try { conn.Open(); cmd.Transaction = conn.BeginTransaction();//开启事务 int result = 0; foreach (string sql in sqlList) { cmd.CommandText = sql; result += cmd.ExecuteNonQuery();//执行语句 } cmd.Transaction.Commit();//提交事务 return result; } catch (Exception ex) { //log/... if (cmd.Transaction != null) { cmd.Transaction.Rollback(); } throw new Exception("调用事务更新方法时候出现异常!" + ex.Message); } finally { if (cmd.Transaction != null) { cmd.Transaction = null;//清除事务,一定要清除 } conn.Close(); } } } }
用户必须遵守《计算机软件保护条例(2013修订)》第十七条:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。鉴于此条例,用户从本平台下载的全部源码(软件)教程仅限学习研究,未经版权归属者授权不得商用,若因商用引起的版权纠纷,一切责任均由使用者自行承担,本平台所属公司及其雇员不承担任何法律责任。
暗黑源码库 » 0010 sql ADO.NET 事务使用