ストアド プロシージャに 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" がコレクションに見つかりません。しかし、ストアドプロシージャを明確に記述しました。どうしたの?ヘルプ。