ASP.NET事务存储过程
--修改存储过程 alter proc proc_get_student as select * from student; asp.net 的事务就是针对数据层来处理的呀! 没有数据处理不能使用事务 ------------------------------------- string sql = "update table set ***** where *****"; // sql 语句或者 存储过程名称 SqlConnection con = new SqlConnection(strConnString); if (con.State == ConnectionState.Closed) con.Open(); /****** 必须打开连接 ******/ SqlTransaction tran = con.BeginTransaction(); /***** 开始一个事务 *****/ SqlCommand cmd = new SqlCommand(sql,con); try { cmd. Transaction = tran; cmd.ExecuteNoQuery(); /**** 执行语句 ****/ tran.Commit(); /**** 提交事务 ****/ } catch(SqlException sqlEx) { tran.Rollback(); System.Web.HttpContext.Current.Server.ClearError(); // 清除当前的异常信息 } catch(Exception sysEx) { tran.Rollback(); System.Web.HttpContext.Current.Server.ClearError(); } finally { con.close(); /**** 无论执行结果如何,甚至出现异常,都会关闭数据库连接 ****/ } 简单代码演示: SqlConnection cnn = m_objDAL.GetCnn(); SqlTransaction tran = cnn.BeginTransaction(); try { ................ tran.Commit(); return true; } catch (Exception e) { tran.Rollback(); throw e; }
初入江湖程序猿