0

ストアド プロシージャに 3 つのパラメーターを渡していますが、2 つのパラメーターには問題はありませんが、1 つのパラメーターのみが識別されていません。コードは次のとおりです。

    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 datetimeに変更IN created_on varchar(40),

また

IN created_on datetimeに変更IN created_on DATETIME = NULL,

于 2013-05-18T09:56:35.127 に答える