#asp.net #sql-server #full-text-search #freetext
#asp.net #sql-сервер #полнотекстовый поиск #freetext
Вопрос:
У меня есть база данных с настройкой полнотекстового каталога для одной из моих таблиц, и цель состоит в том, чтобы иметь возможность выполнять поиск свободного текста по этой таблице из asp.net веб-сайт на языке c#. Используя SQL Management Studio, я могу вручную запускать запросы, такие как:
SELECT ProductName
FROM Products
WHERE FREETEXT(ProductName, 'ABC')
Но когда я добавляю SQL-запрос в dataset и передаю ему параметр следующим образом
SELECT ProductName
FROM Products
WHERE FREETEXT(ProductName, @ProductName)
мастер возвращает ошибку
The @ProductName SQL construct or statement is not supported
Как я могу создать запрос dataset со строгим типом, который поддерживает полнотекстовый поиск?
Комментарии:
1. Можете ли вы показать свой код?
2. @Keith Я использую мастер для добавления запросов к dataset в Visual Studio, кода нет, так как он генерируется автоматически. Обычно я могу создавать запросы с помощью [ГДЕ ABC = @ABC], но когда я меняю условие на [ГДЕ FREETEXT(ProductName, @ProductName)] — мастер возвращает сообщение об ошибке.
Ответ №1:
Попытался создать процедуру хранения с параметром и вызвать ее из мастера добавления запросов. Он по-прежнему выдает сообщение, но работает просто хорошо.
CREATE PROCEDURE [dbo].[sp_FreetextProductName]
@ProductName nvarchar(500)
AS
BEGIN
SELECT ProductName
FROM Products
WHERE FREETEXT(ProductName, @ProductName)
END