我有一個查詢生成器,它使用全文索引進行描述搜索。使用asp.net的全文索引和參數化查詢
查詢是建立和參數化,我想知道從網站表單字段編碼,以通過搜索字符串,如最好的方法:
- 通過
- 覆蓋「紅」近「黃色 「
- 紅」 魚
感謝
我有一個查詢生成器,它使用全文索引進行描述搜索。使用asp.net的全文索引和參數化查詢
查詢是建立和參數化,我想知道從網站表單字段編碼,以通過搜索字符串,如最好的方法:
感謝
如果你想使用完整的文本•你應該使用where子句與其他特定功能(不只是=或者類似)。
@param1仍然是一個字符串(最終nvarchar);在這裏看到:
Querying SQL Server Using Full-Text Search
例如,以這種方式查詢(從MSDN):
USE AdventureWorks2008R2;
GO
DECLARE @SearchWord nvarchar(30)
SET @SearchWord = N'performance'
SELECT Description
FROM Production.ProductDescription
WHERE CONTAINS(Description, @SearchWord);
有關特殊字符和逃避他們,只要看看這裏:SQL Server Full Text Search Escape Characters?
這正是我正在做的,但通過上述示例不起作用。 – RubbleFord 2011-05-25 08:49:53
顯示你的SQL,這裏:從y中選擇x,其中q = @param1不起作用,根本不使用全文... CONTAINS在哪裏?你如何執行查詢? – 2011-05-25 08:51:59
對不起,這不是一個很好的例子,我現在用微軟的文章解決了它。然而,全文搜索字符的文章已經解決了這個問題。 – RubbleFord 2011-05-25 09:46:06
待辦事項你的意思是你想編碼參數值,以避免SQL注入和同時支持特殊字符?你的存儲過程的輸入參數是什麼類型? – 2011-05-25 07:52:23
它不使用存儲過程,它是參數化查詢,所以查詢看起來像從y中選擇x,其中q = @ param1。我希望能夠向用戶展示全文索引的強大功能。所以他們可以說給我例如「襯衫」附近有「紅色」的所有東西。 – RubbleFord 2011-05-25 08:01:40
在這個實例中的參數類型是字符串,對不起,在之前的評論中忘記提及。 – RubbleFord 2011-05-25 08:11:24