处理数据并发
1、使用事务对象:
3、使用时间戳。
参考资料:
(http://www.cnblogs.com/tintown/archive/2005/03/22/123404.html)
(http://www.cnblogs.com/hedonister/archive/2005/06/10/172063.html)
1
SqlConnection 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()
SqlConnection 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
} 3、使用时间戳。
参考资料:
(http://www.cnblogs.com/tintown/archive/2005/03/22/123404.html)
(http://www.cnblogs.com/hedonister/archive/2005/06/10/172063.html)

浙公网安备 33010602011771号