Параметризованный запрос ожидает параметр (не принимает пустую строку) - PullRequest
1 голос
/ 20 декабря 2011

Я просто выполняю запрос и начал использовать параметры.И все шло отлично, пока не прошла нулевая строка.Раньше все работало нормально, используя "name = " + Name Где имя может быть или не быть нулевым.

Есть ли такой простой способ обойти это?

Также по теме, я еще не пробовал, но могуЯ идентифицирую параметры чем-либо, кроме чисел.Это потенциальная область, которая может пойти не так, имея 14 числовых параметров, без идентификации которых есть какие, кроме надежды, что они в правильном порядке.(Что, если я приду, чтобы добавить еще один)

Сообщение об ошибке: The parameterized query '(@0 nvarchar(5),@1 nvarchar(4),@2 nvarchar(4000),@3 nvarchar(400' expects the parameter '@2', which was not supplied.

Параметризованный запрос:

            db.Execute("Update User SET Name = @0 , Address1 = @1 , Address2 = @2 , Address3 = @3, Address4 = @4 , Postcode = @5 , Title = @6, " +
                        " Surname = @7 , Forename = @8 , Tel = @9, Fax = @10 , Mobile = @11 , Email = @12  WHERE UserNo = @13",
                        Name, Address1, Address2, Address3, Address4, Postcode, Title, Surname, Forename, Tel, Fax, Mobile, Email, UserNo);

1 Ответ

1 голос
/ 20 декабря 2011
db.Execute("Update User SET Name = @0 , Address1 = @1 , Address2 = @2 , Address3 = @3, Address4 = @4 , Postcode = @5 , Title = @6, " +
                        " Surname = @7 , Forename = @8 , Tel = @9, Fax = @10 , Mobile = @11 , Email = @12  WHERE UserNo = @13",
                        (Name==null)?"":Name, (Address1==null)?"":Address1, ...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...