1

テーブルにタイムスタンプデータを追加したいのですが、エラーが発生しました。どうすればこれを修正できますか?

ここに画像の説明を入力してください

これが私のProcです

    CREATE PROCEDURE `db`.`AddMerchantProcessor` (m_id INT, p_id INT, d TIMESTAMP)
BEGIN
    INSERT INTO `tbl_merchant_processor`(`merchant_id`, `processor_id`, `date`) VALUES(m_id, p_id, d);
END
4

1 に答える 1

2

タイムスタンプは一重引用符で囲む必要があります。

CALL AddMerchantProcessor(0, 1, '2012-01-01 00:00:00')

Commandしかし、それはオブジェクトを使用する適切な方法ではありません。クエリはパラメーター化する必要があります。

ここに小さなコードスニペットがあります:

MySqlCommand comm = new MySqlCommand();
comm.Connection = cn;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = "AddMerchantProcessor";
comm.Parameters.AddWithValue("m_id", m_id);
comm.Parameters.AddWithValue("p_id", p_id);
comm.Parameters.AddWithValue("d", d);
cn.Open();
comm.ExecuteNonQuery();

必要がある:

  • 自動オブジェクト廃棄のためのuseusingステートメント
  • trycatch適切な例外処理のためにいくつか入れてください

ソース

于 2012-12-29T01:29:00.067 に答える