1

我想在我的表中添加时间戳数据但出现错误我该如何解决这个问题?

在此处输入图像描述

这是我的过程

    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();

你需要:

  • 用于自动对象处理的使用using语句
  • 放一些trycatch用于适当的异常处理

来源

于 2012-12-29T01:29:00.067 回答