0

.net コード内で mysql Db を呼び出します。そのためにMySql.Data.dll. 私のシナリオでは、MySqlHelperクラスを使用しました。しかし、このシナリオには2つの挿入ステートメントがあり、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ヘルパーは自動的にロックを処理しますか?
4

1 に答える 1

1

C# でトランザクション スコープを使用できます。

C# でロールバックする

于 2013-03-21T09:42:14.367 に答える