对TransactionScope()事务的问题的补充

来源:互联网 发布:全球反倾销数据库 编辑:程序博客网 时间:2024/05/29 08:47

TransactionScope()事务的问题

 

using (TransactionScope ts = new TransactionScope())
{
  using (SqlConnection conn = new SqlConnection(@"XXX"))
  {
     conn.Open();
     SqlCommand sqlCommand = new SqlCommand("UPDATE testtable SET flag=1",conn);
     sqlCommand.ExecuteNonQuery();

     Thread.Sleep(120000);  //因为超时导致的事务中止,在此之前的数据还是会回滚,
                                            //在此之后的数据不会回滚.

                                            //在实际的生产过程中,发生一次事务中止,但数据都回滚了.

     sqlCommand = new SqlCommand("INSERT INTO  testtable (BH,FLAG,FZ) VALUES('XX',1,'X')", conn);
     sqlCommand.ExecuteNonQuery();
   }
   ts.Complete();
}

原创粉丝点击