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;
            }

 

posted @ 2015-02-08 23:53  初入程序猿  阅读(251)  评论(0编辑  收藏  举报