我将在.net代码中调用mysql Db,为此,我正在使用MySql.Data.dll
。在我的场景中,我使用了MySqlHelper
类。但是在这种情况下,有两个insert语句,如果只有两个都正确插入,我想commit
记录。否则我想rollback
它。
internal bool AddCutomer(Customer c)
{
string sqlCustomerQuery = "INSERT INTO tab_customer VALUES('" + c.Barcode + "','" + c.custxml + "')";
int result = MySqlHelper.ExecuteNonQuery(connectionString, sqlCustomerQuery);
if (result > 0)
{
string sqlProjCustomer = "INSERT INTO tab_project_customers VALUES('" + c.Barcode + "','" + c.ProjectID + "')";
MySqlHelper.ExecuteNonQuery(connectionString, sqlProjCustomer);
return true;
}
else
return false;
}
我的问题:
在这种情况下如何提交或回滚?
我发现MySqlTransaction可用于提交和回滚。如果我要使用它,该如何使用?还是有其他方法可以做到?
什么时候可以使用
MySqlHelper
类以及传统方法(创建连接,命令等)和MySqlHelper
类方法之间的区别?MySqlHelper
助手会自动处理锁吗? 最佳答案
您可以在c#中使用Transaction Scope。
Roll back in c#