C#编程之事务用法

2019-12-26 14:40:41王冬梅

易采站长站为您分析C#编程之事务用法,结合实例形式对比分析了C#中事务提交与回滚的具体实现技巧与相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#编程之事务用法。,具体如下:

ado.net2.0的SqlTransaction使用方法

 

 
  1. /////ado.net1.0中使用Transacation(事务)  string connectionString = "database=Northwind;pwd=admin;uid=sa;server=DATABASE-VPCSQL2005"; 
  2. using (SqlConnection conn = new SqlConnection(connectionString))  { 
  3. conn.Open();  SqlTransaction transaction = conn.BeginTransaction(); 
  4. try  { 
  5. using (SqlCommand cmd = new SqlCommand())  { 
  6. cmd.Connection = conn;  cmd.CommandType = CommandType.Text; 
  7. cmd.CommandText = "";  cmd.Transaction = transaction; 
  8. cmd.ExecuteNonQuery();  transaction.Commit();//提交事务 
  9. }  } 
  10. catch  { 
  11. transaction.Rollback();//事务回滚  } 
  12. /////2.0中使用事务  string connectionString = "database=Northwind;pwd=admin;uid=sa;server=DATABASE-VPCSQL2005"; 
  13. string connectionStringTwo = "database=Test;pwd=admin;uid=sa;server=DATABASE-VPCSQL2005";  using (TransactionScope transaction = new TransactionScope())//使用事务 
  14. {  try 
  15. {  using (SqlConnection conn = new SqlConnection(connectionString)) 
  16. {  using (SqlCommand cmd = new SqlCommand()) 
  17. {  cmd.CommandText = "insert into [member] (name) values ('test')"; 
  18. cmd.CommandType = CommandType.Text;  cmd.Connection = conn; 
  19. conn.Open();  cmd.ExecuteNonQuery(); 
  20. }  } 
  21. using (SqlConnection conn = new SqlConnection(connectionStringTwo))  { 
  22. using (SqlCommand cmd = new SqlCommand())  { 
  23. cmd.CommandText = "insert into [member] (name) values ('test')";  cmd.CommandType = CommandType.Text;