我想在2个单独的表上进行插入和更新,但是让它们在1个事务中。)
基本上在伪代码中,我想做类似的事情:
MySqlTransaction trans = null;
try
{
_Connection.Open();
trans = _Connection.BeginTransaction();
insertCmd.Transaction = trans;
updateCmd.Transaction = trans;
Int32 id = insertCmd.ExecuteNonQuery();
updateCmd.Parameters.Add(new MySqlParameter("oid", MySqlDbType.Int32).Value = id);
updateCmd.ExecuteNonQuery();
}
catch(MySqlException)
{
if(trans != null)
trans.RollBack();
}
finally
{
_Connection.Close();
}
这是可能的还是我以错误的方式解决这个问题?
答案 0 :(得分:6)
是的,你可以:
答案 1 :(得分:3)
是的,您可以在单个事务中执行多个命令。这可以让你完全按照你要做的去做:所有命令,或者没有命令。