Вопрос

Я пытаюсь использовать Содержит оператор.Он отлично работает с тестовыми данными, например.
WHERE CONTAINS(file,'"*ash*"')

Однако я хочу получить ключевое слово из TextBox, используя что-то вроде CONTAINS(file,'"*@key*"'), но это, похоже, не работает.Любые предложения, пожалуйста.

Спасибо

Это было полезно?

Решение

@ используется для объявления переменной в SQL.По этой причине его не обязательно заключать в кавычки.Например:

DECLARE @Key varchar(100);
SET @Key = '*ash*'; 
SELECT file FROM SomeTable WHERE CONTAINS(file, @Key);

РЕДАКТИРОВАТЬ: Если вы передаете встроенный SQL через свой код, я бы предложил что-то вроде этого:

Пример С#:

string key = textBox1.Text;
string query = "SELECT file FROM SomeTable WHERE ";
query += String.Format("CONTAINS(file, '\"*{0}*\"')", key);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top