MySqlHelper类中的事务锁

时间:2013-03-21 09:37:07

标签: c# mysql .net c#-4.0

我要在我的.net代码中调用mysql Db,因为我正在使用MySql.Data.dll。在我的场景中,我使用了MySqlHelper类。但在这种情况下有两个插入语句,我想要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;

        }

我的问题:

  1. 我如何在这种情况下提交或回滚?
  2. 我发现MySqlTransaction可用于提交&回滚。如果我打算用这个怎么用呢?还是有其他办法吗?
  3. 我们什么时候可以使用MySqlHelper类和传统方法(创建连接,命令等)和MySqlHelper类方法之间的区别?
  4. MySqlHelper帮助器会自动处理锁吗?

1 个答案:

答案 0 :(得分:1)

您可以在c#中使用交易范围。

  

Roll back in c#