ado.net 事务 处理 锁定数据行

using(SqlConnection   conn   =   SqlConnection(MyConnectionString))   {  
 SqlCommand   cmd1   =   conn.CreateCommand();
 cmd1.CommandText   =   "UPDATE   NewsTable   SET   Hits   =   Hits   +   1   WHERE   NewsID   =   @NewsID ";
 conn.Open();
 using(SqlTransaction   trans   =   conn.BeginTransaction(IsolationLevel.RepeatableRead))   {   //   隔离级别:对读取的数据加锁,防止不可重复的读取,但是仍可以有幻像行
  cmd1.Trasnaction   =   trans;
  try   {
   cmd1.ExecuteNonQuery();   //   更新
   trans.Commit();   //   提交
  }   catch   {
   trans.Rollback();   //   回滚
   throw;
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值