我将在我的.net代码中调用mysql Db,为此我将使用MySql.Data.dll
。在我的场景中,我使用了 MySqlHelper 类。但在这种情况下,有两个插入语句,如果两者都正确插入,我想提交
记录。否则我想回滚
它。
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# 中使用事务范围。
关于c# - MySqlHelper 类中的事务锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15543829/