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();
}