ADO.NET可以通过Connect和Transation类来支持事务。可以使用Connection类的BeginTransaction方法来创建一个新的事务。然后通过Command类的Transation的属性把这个事务与多个Command关联。
exg:
SqlTransaction objTransaction = new SqlTransaction();
SqlConnection con = new SqlConnection ();
......
con.Open();
objTransaction = con.BeginTransaction;
cmd.Transaction = objTransaction;(cmd为一个SqlCommand实例)
cmd.ExecuteNonQuery();
objTransaction.Commit/RollBack;
ASP.NET页面的事务
ASP.NET页面级创建事务,通过在ASP.NET页面中添加下列页面处理指令之一来为ASP.NET页面注册事件。
Disabled --对页面禁用事务。此为默认值
NotSupported --表示页面不再事务中执行
Supported --如果事务已经存在,页面就在事务上下文中执行。
Required --如果事务已经存在,页面就在事务上下文中执行。
RequiiresNew -- 为每个请求创建一个新的事务。
在允许了针对ASP.NET页面的事务后,可以使用来自于 ContextUtil类的两个方法来显式地提交或会滚一个事务:SetComplete和SetAbort方法
exg:
SqlConnection con = new SqlConnection ();
......
con.Open();
objTransaction = con.BeginTransaction;
cmd.Transaction = objTransaction;(cmd为一个SqlCommand实例)
cmd.ExecuteNonQuery();
ContextUtil.SetComplete();
(ContextUtil.SetAbort())
exg:
SqlTransaction objTransaction = new SqlTransaction();
SqlConnection con = new SqlConnection ();
......
con.Open();
objTransaction = con.BeginTransaction;
cmd.Transaction = objTransaction;(cmd为一个SqlCommand实例)
cmd.ExecuteNonQuery();
objTransaction.Commit/RollBack;
ASP.NET页面的事务
ASP.NET页面级创建事务,通过在ASP.NET页面中添加下列页面处理指令之一来为ASP.NET页面注册事件。
Disabled --对页面禁用事务。此为默认值
NotSupported --表示页面不再事务中执行
Supported --如果事务已经存在,页面就在事务上下文中执行。
Required --如果事务已经存在,页面就在事务上下文中执行。
RequiiresNew -- 为每个请求创建一个新的事务。
在允许了针对ASP.NET页面的事务后,可以使用来自于 ContextUtil类的两个方法来显式地提交或会滚一个事务:SetComplete和SetAbort方法
exg:
SqlConnection con = new SqlConnection ();
......
con.Open();
objTransaction = con.BeginTransaction;
cmd.Transaction = objTransaction;(cmd为一个SqlCommand实例)
cmd.ExecuteNonQuery();
ContextUtil.SetComplete();
(ContextUtil.SetAbort())