处理数据并发
1、使用事务对象:
3、使用时间戳。
参考资料:
(http://www.cnblogs.com/tintown/archive/2005/03/22/123404.html)
(http://www.cnblogs.com/hedonister/archive/2005/06/10/172063.html)
1SqlConnection conn = new SqlConnection(ConnectionString);
2 SqlCommand cmd = new SqlCommand("delete from table_a where bh=1",conn);
3 SqlTransaction Trans ; //事物对象
4
5 conn.Open();
6 Trans = conn.BeginTransaction(IsolationLevel.ReadCommitted, "MyTrans");
7 cmd.Transaction = Trans;
8 try{
9 cmd.ExecuteNonQuery();
10 //如果成功,则提交数据
11 Trans.Commit();
12 }
13 catch (SqlException Err){
14 //产生错误,则回滚事物对象
15 Trans.Rollback("MyTrans");
16 }
17 finally{
18 conn.Close();
19 }
2、 使用lock() unlock() 2 SqlCommand cmd = new SqlCommand("delete from table_a where bh=1",conn);
3 SqlTransaction Trans ; //事物对象
4
5 conn.Open();
6 Trans = conn.BeginTransaction(IsolationLevel.ReadCommitted, "MyTrans");
7 cmd.Transaction = Trans;
8 try{
9 cmd.ExecuteNonQuery();
10 //如果成功,则提交数据
11 Trans.Commit();
12 }
13 catch (SqlException Err){
14 //产生错误,则回滚事物对象
15 Trans.Rollback("MyTrans");
16 }
17 finally{
18 conn.Close();
19 }
3、使用时间戳。
参考资料:
(http://www.cnblogs.com/tintown/archive/2005/03/22/123404.html)
(http://www.cnblogs.com/hedonister/archive/2005/06/10/172063.html)