SqlConnection conn = ...;
conn.Open();
SqlCommand cmd = conn.CreateCommand();
SqlTransaction tran = conn.BeginTransaction();
cmd.Transaction = tran;
try
{
cmd.CommandText = "insert into a (a) vlalues ( "a ") ";
cmd.ExecuteNonQuery();
...
cmd.CommandText = "insert into b (b) vlalues ( "b ") ";
cmd.ExecuteNonQuery();
...
}
catch (SqlException)
{
tran.Rollback();
return;
}
finally
{
conn.Close();
} tran.Commit(); 请问以上代码如果异常,会从头开始回滚么?
conn.Open();
SqlCommand cmd = conn.CreateCommand();
SqlTransaction tran = conn.BeginTransaction();
cmd.Transaction = tran;
try
{
cmd.CommandText = "insert into a (a) vlalues ( "a ") ";
cmd.ExecuteNonQuery();
...
cmd.CommandText = "insert into b (b) vlalues ( "b ") ";
cmd.ExecuteNonQuery();
...
}
catch (SqlException)
{
tran.Rollback();
return;
}
finally
{
conn.Close();
} tran.Commit(); 请问以上代码如果异常,会从头开始回滚么?
cmd.CommandText = "insert into a (a) vlalues ( "a ") ";
cmd.ExecuteNonQuery();
...
cmd.CommandText = "insert into b (b) vlalues ( "b ") ";
cmd.ExecuteNonQuery();
...
tran.Commit();}
与在try最后