0

我将三个参数传递给一个存储过程,这两个参数没有问题,但只有一个参数没有被识别。这是代码:

    MySqlCommand cmd = new MySqlCommand("AppTableDetails", connection);
        cmd.CommandType = CommandType.StoredProcedure;

        cmd.Parameters.AddWithValue("@tname",tablename);
        cmd.Parameters.AddWithValue("@created_on",definedon);
        cmd.Parameters.AddWithValue("@createdBy", createdby);
        connection.Open();
        cmd.ExecuteNonQuery();

        connection.Close();

存储过程是:

    ALTER DEFINER=`root`@`localhost` PROCEDURE `AppTableDetails`( IN tname varchar(40),

IN created_on datetime,
IN createdBy varchar(40))
BEGIN
insert into `app_tables` (tablename,tableid,defined_on,appid,created_by)
values ( tname,0,created_on,(select max(appid) from application), createdBy);
END

当我调试文件时,我收到一个错误:在集合中找不到参数“created_on”。但是我已经清楚地写了存储过程。有什么问题?帮助。

4

1 回答 1

0

更改IN created_on datetimeIN created_on varchar(40),

或者

更改IN created_on datetimeIN created_on DATETIME = NULL,

于 2013-05-18T09:56:35.127 回答