Как исправить"? idparam не найден в коллекции " в mysql insert stored proc
I am writing an insert query in mysql stored procedure .when i am trying to run i am getting error "?IDparam not found in collection" .I didnt give ID in insert as it should be autoincremented and i use it in update and delete later in this procedure. This is Insert query from my proc: <pre>CREATE DEFINER=`root`@`%` PROCEDURE `insertproc`( IN IDparam INT, IN Pathparam VARCHAR(100), IN fileNameparam VARCHAR(100), IN Countparam VARCHAR(100), IN CreatedBYparam DATETIME, IN CreatedDateparam DATETIME, IN Typeparam VARCHAR(100), IN Statusparam VARCHAR(100), IN crudparam VARCHAR(50)) BEGIN IF(crudparam ='INSERT') THEN INSERT INTO pathmaster ( Path, pathName, fileName , Count, CreatedBY, CreatedDate, Type, Status ) VALUES( Pathparam, (Select MAX(pathName) from pathmaster)+1, FileNameparam, Countparam, CreatedBYparam, CreatedDateparam, Typeparam, Statusparam ); END IF;
ниже приведен код для вызова SP
MySqlParameter[] mysqlparam = new MySqlParameter[] { new MySqlParameter("Pathparam",Path.Trim()), new MySqlParameter("FileNameparam",filename.Trim()), new MySqlParameter("Countparam",count), new MySqlParameter("CreatedBYparam",date), new MySqlParameter("CreatedDateparam",date), new MySqlParameter("Typeparam",strType), new MySqlParameter("Statusparam","pending"), new MySqlParameter("ACTIONparam","INSERT") }; ds = ExecuteProc("insertproc", mysqlparam);
так в чем же может быть проблема
Что я уже пробовал:
изменить столбец ID на varchar не получилось. в параметрах нет никаких пробелов.
Michael_Davies
Это ID столбца количество авто? если это так, то его нет в вашем списке параметров, попробуйте поместить ID в параметры и поставить DEFAULT в то место, где ID находится в вашем списке полей;
Вставить в pathmaster (ID,
Путь,
имя пути,
имя файла ,
Рассчитывать,
Создано,
CreatedDate,
Тип,
Статус
)
ЗНАЧЕНИЯ (ПО УМОЛЧАНИЮ,
Pathparam,
(Выберите MAX (pathName) из pathmaster)+1,
FileNameparam,
Countparam,
CreatedBYparam,
CreatedDateparam,
Typeparam,
Statusparam
);
Member 13206008
Я пытался, но все равно получаю ту же ошибку
Member 13206008
ID-это PK таблицы
при вызове SP я изменил ACTIONparam на crudparam
новый MySqlParameter ("crudparam", " INSERT")
все та же ошибка повторяется