Каждый раз, когда я пытаюсь использовать заполнитель параметров в инструкции SELECT, INSERT или UPDATE в WebMatrix, я получаю ту же ошибку. Он отлично работает в предложении WHERE. Что я делаю неправильно, мне нужна помощь.Параметр Заполнители вызывают ошибку в Webmatrix
Вот мой код:
if (IsPost && Validation.IsValid())
{
Admission1 = Request["AdmDate1"];
Discharge1 = Request["DisDate1"];
LOC1 = Request["LOC1"];
Program1 = Request["ProgramName1"];
Notes = Request["Notes"];
var SQLUPDATE = "UPDATE SSI_Screening_New SET [email protected], [email protected], [email protected], [email protected], [email protected] WHERE (ID) = (@0)";
db.Execute(SQLUPDATE, Admission1, Discharge1, LOC1, Program1, Notes, SSId);
if (ModelState.IsValid)
{
Response.Redirect("~/ThankYou");
}
}
Есть ли альтернатива для использования заполнителей параметров в WebMatrix?
Здесь ошибка я получаю каждый раз:
Сведения об исключении: System.Data.SqlClient.SqlException: Необходимо объявить скалярную переменную «@ 49».
Заранее благодарим за вашу помощь!
Есть ли другой способ, потому что я не хочу других полей? – tnbumbray
Нет, другого пути нет. При выполнении параметризованного запроса любого типа вы должны начинать с @ 0, @ 1 и так далее. Нет никакого преимущества делать что-либо еще. Каждый запрос или исполнение базы данных получает свой собственный список параметров, поэтому вы не можете или не должны использовать их каким-либо образом. Я отредактировал свой ответ, чтобы показать правильный путь. – Knox
Означает ли это, что мне нужно создать параметр для каждого поля в записи, и я не хочу обновлять каждое поле? У меня есть только несколько полей, которые я хочу обновить. – tnbumbray