Хранимая процедура, возвращающая нулевое значение параметру при создании нового пользователя
У меня есть кнопка для добавления пользователя, если я нажму кнопку, появится всплывающее окно для добавления пользователя,
Но при сохранении я получаю идентификатор пользователя исключения, не предоставленный процедуре..
В таблице login userid имеет значение int, а не null.
Я сохранил отладчик и попробовал @userid is null..И procedre ожидает параметр @id пользователя, куда я иду неправильно ,
Любая проблема с хранимой процедурой, любые предложения по изменению моей хранимой процедуры
идеи??
предложения??
Что я уже пробовал:
ALTER PROCEDURE logins @UserId VARCHAR(50) ,@UserName VARCHAR(100) ,@FirstName VARCHAR(100) ,@LastName VARCHAR(100) ,@Email VARCHAR(200) ,@Password VARCHAR(100) ,@AllNames VARCHAR(max) AS BEGIN IF @UserId IS NULL INSERT INTO logins ( UserName ,FirstName ,LastName ,Email ,ROLE ,DateCreated ,DateModified ,Password ,Allnames ) VALUES ( @UserName ,@FirstName ,@LastName ,@Email ,'Admin' ,GetDate() ,GetDate() ,@Password ,@allnames ) ELSE UPDATE logins SET UserName = @UserName ,FirstName = @FirstName ,LastName = @LastName ,AllNames = @Allnames WHERE UserId = @UserId END
[no name]
идентификатор имеет тип int
UserId varchar(50)
Видите ли вы что-то неправильное в этих двух строках?
И сообщение об ошибке понятно. Вы вызываете свою хранимую процедуру и не предоставляете ожидаемый параметр User id.
Mahesh2223
Это автоматически генерирует идентификаторы на основе пользователей
Mahesh2223
У правильно я поменял на int , его работа , просто человек
ZurdoDev
"идентификатор пользователя исключения не указан в процедуре.." - это означает, что ваш код c# не отправил параметр. Нажмите кнопку улучшить вопрос и опубликуйте код c#, в котором вы вызываете эту хранимую процедуру.
farid.masood
Каков тип данных вашего столбца UserID? Я имею в виду, что вы объявляете его как VARCHAR, но каков тип в фактическом столбце?
Mahesh2223
int not null
farid.masood
Рад, что вы его починили :)