2014-06-14 50 views
0

我有一個數據庫,其中一個表的全文目錄設置,目標是能夠從asp.net c#網站對該表進行自由文本搜索。使用SQL Management Studio中,我可以手動運行查詢,如:如何創建asp.net數據集的自由文本查詢

SELECT ProductName 
FROM Products 
WHERE FREETEXT(ProductName, 'ABC') 

但是,當我在一個數據集添加一個SQL查詢和參數傳遞給它遵循

SELECT ProductName 
FROM Products 
WHERE FREETEXT(ProductName, @ProductName) 

嚮導返回錯誤

The @ProductName SQL construct or statement is not supported 

如何創建支持全文搜索的強類型數據集查詢?

+0

你能顯示你的代碼嗎? – Keith

+0

@Keith我使用嚮導向Visual Studio中的數據集添加查詢,沒有代碼,因爲它是自動生成的。通常,我可以使用[WHERE ABC = @ABC]創建查詢,但是當我將條件更改爲[WHERE FREETEXT(ProductName,@ProductName)]時,嚮導會返回錯誤消息。 –

回答

0

試圖用參數創建存儲過程,並從添加查詢嚮導中調用它。它仍然提醒消息,但運行良好。

CREATE PROCEDURE [dbo].[sp_FreetextProductName] 
    @ProductName nvarchar(500) 
AS 
BEGIN 
    SELECT ProductName 
    FROM Products 
    WHERE FREETEXT(ProductName, @ProductName) 
END