C# MySQL DBHelper事务回滚
public static bool Add(List<T> list)
{
string conn="连接字符串";
using (MySqlConnection myConn = new MySqlConnection(conn))
{
myConn.Open();
MySqlTransaction transaction = myConn.BeginTransaction();
try
{
string masterSQL= string.Format("主表新增语句");
MySqlCommand cmd = new MySqlCommand(masterSQL, myConn);
bool success = cmd.ExecuteNonQuery() > 0;
if (success)
{
long id = cmd.LastInsertedId;
for(int i = 0; i < list.Count; i++)
{
string fromSQL = string.Format("从表新增语句");
MySqlCommand cmd2 = new MySqlCommand(fromSQL , myCon);
bool success2 = cmd2.ExecuteNonQuery() > 0;
if (!success2)
{
transaction.Rollback();
return false;
}
}
transaction.Commit();
return true;
}
else
{
}
}
catch (Exception ex)
{
transaction.Rollback();
return false;
}
}
}