Я пытаюсь запустить SQL-запрос вставки / возврата первичного ключа.
В итоге запрос выглядит следующим образом:
declare @userid as integer;
insert into users (username,emailaddress,passwordhash,salt) values
(@username,@email,@password,@salt);
set @userid=scope_identity();
insert into groups (name,userid) values ('somegroup',@userid);
select @userid;
Это просто входит в поле SqlCommand.CommandText.Таким образом, это выполняется как один запрос
Затем я добавляю параметры следующим образом: (cmd
это SqlCommand
объект)
cmd.Parameters.Add(new SqlParameter("@email",user.EmailAddress));
cmd.Parameters.Add(new SqlParameter("@username",user.Username));
cmd.Parameters.Add(new SqlParameter("@salt",user.Salt));
cmd.Parameters.Add(new SqlParameter("@password", user.PasswordHash));
Затем я выполняю запрос с ExecuteScalar();
В этот момент будет выдано сообщение об ошибке, хотя параметр @email не существует.
Как мне решить эту проблему?