2013-03-21 36 views
0

我打算在我的.net代碼中調用mysql Db,爲此我使用的是MySql.Data.dll。在我的場景中,我使用了MySqlHelper類。但在這種情況下有兩個插入語句,並且我想要commit記錄是否只有正確插入。否則我想rollback吧。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; 

     } 

我的問題:

  1. 我如何能提交或回滾在這種情況下?
  2. 我發現MySqlTransaction可以用來提交&回滾。如果我要使用這個,我該如何使用它?或者還有其他方法可以做到嗎?
  3. 什麼時候可以使用MySqlHelper類和傳統方法(創建連接,命令等)和類方法的區別?
  4. 確實MySqlHelper助手自動處理鎖?
+0

使MySQL中 – TalentTuner 2013-03-21 09:43:30

回答

1

您可以在c#中使用事務範圍。

Roll back in c#

+0

一個StoredProcedure的感謝名單這對我的作品.... – DevT 2013-03-21 10:49:48