一个事务的例子

  protected void Button1_Click(object sender, EventArgs e)   
{       
     SqlConnection conn;      
    SqlCommand cmd1, cmd2;    
    SqlTransaction tra;       
    conn = new SqlConnection("server=.;database=test;uid=sa;pwd=123");       
     conn.Open();     
      tra = conn.BeginTransaction();//开始事务      
     cmd1 = new SqlCommand("update Test set StuName='佳儿' where    
     StuScore=111", conn);       
    cmd2 = new SqlCommand("update Test  set                                                                           StuName='fdsafdsafdsfdsafsfsdadsadsadfsafsfsfdf' where StuScore=222", conn);      
  try     
   {        
       cmd1.ExecuteNonQuery();//此句可以成功执行      
      cmd2.ExecuteNonQuery();//此句故意让其执行失败        
     tra.Commit();//无异常,提交事务(两句执行都有效)       
     Response.Write("<script>alert('执行成功')</script>");        }   
     catch     
   {       
     tra.Rollback();//出现异常,回滚事务(两句执行都无效)   
         Response.Write("<script>alert('执行失败')</script>");      
  }      
  finally       
 {         
   conn.Close();       
 }   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值