日期:2014-05-17  浏览次数:20622 次

关于事务的一个问题,求指教
SqlConnection conn = DbopUtil.GetConn();
  SqlTransaction tran = conn.BeginTransaction(System.Data.IsolationLevel.ReadUncommitted);
  SqlCommand cmd = new SqlCommand();
  cmd.Connection = conn;
  cmd.Transaction = tran;
 try
{
....sql语句
 tran.commit();

catch
{
tran.Rollback();
conn.close();
throw;
}

然后再下面
try
{
conn.open();
....sql语句
 tran.commit();
}
catch
{
tran.Rollback();
conn.close();
throw;
}
下面这个有没有用的?

------解决方案--------------------
你的两个语句都执行完,才能commit;
------解决方案--------------------
事物一般是为了保证多个操作的一致性
比如你说的多条语句,要不都成功,要不都失败
你应该把多条语句放在一个事物,在提交的时候一次提交,确保多个语句或操作同时成功或失败
------解决方案--------------------
不能同时执行么??一个事物搞不定? 如果一个事物搞不定,建议用两种操作来完成,别混到一起