У меня есть функция, которая вызывается с параметром под названием «имя», теперь она отлично работает. Пока я не сделаю поиск с «в нем». Поэтому я отправляю это как имяФункция поиска не работает должным образом
Plastic & Foam 3'X5' XLT
Когда я отправляю, что он возвращает пустое место на сайте (без ошибок), но если я отправлю jusr Plastic & Foam
, он отлично работает, он возвращается в порядке. Теперь в SQL части я получаю это, когда я отправить запрос через студию управления, как этот
exec sp_productSearch 'Plastic & Foam 3''X5'' XLT'
SELECT Name FROM PProducts WHERE NAME LIKE '%Plastic & Foam 3'X5' XLT'
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'X5'.
В C# я посылаю список текста этого
Server.HtmlEncode(txtproductname.Text.Trim().Replace("'", "''"))
Любые идеи, что я могу делать неправильно?
PS: Хранимая процедура проста, что-то вроде этого
Select Name from PProducts Where NAME LIKE '%' + @NAME + '%' ;
Спасибо.
Разрешение '' 'в ваших поисковых запросах/базе данных - очень плохая практика (sql-инъекция) – Matten
Нам нужно увидеть код C#, а не SQL-запросы, чтобы иметь возможность ответить на этот вопрос. Кроме того, пожалуйста, измените заголовок, чтобы суммировать вашу проблему. Благодарю. – Arjan
Пожалуйста, введите код C#, который показывает, где вы храните хранимую процедуру 'sp_productSearch'. Я подозреваю, что вам нужно использовать параметры в своем SQL-запросе вместо того, чтобы вводить значение строки для поиска непосредственно в ваш вызов хранимой процедуры. –