從我的C#程序,我訪問SQL Server 2008數據庫。我有一個表有fulltextindex和要搜索的索引的條目:使用LIKE關鍵字SQL中的參數
SELECT page_id FROM page_categories WHERE page_title LIKE @title
當「標題」沒有withespaces一切都很好,但是當標題確實包含withespaces,請求失敗。它拋出沒有錯誤,但返回的記錄被關閉
command.ChangeParameter("title", title);
using (System.Data.IDataReader reader = command.ExecuteQuery())
{
while (reader.Read())
resultSet.Add(reader.GetInt32(0));
reader.Close();
}
我不能圍成「」的@title參數,因爲那時的命令對象將解釋@title作爲一個字符串,而不是一個參數。
SELECT page_id FROM page_categories WHERE page_title LIKE '@title'
任何人都知道如何在標題參數可以包含空格時使用參數作爲LIKE請求嗎?
由於提前, 弗蘭克
我想匹配確切的字符串。比方說,我的數據庫中有'工具'和'工具歌曲'。當我使用title =「tool」進行搜索時,我只想得到'tool'值的行,而不是'tool songs'。但是,當我使用通配符時,情況就是這樣...... – Aaginor 2009-11-12 14:01:53
然後,你應該可以做到page_title = @title。也許你需要提供更好的例子... – cjk 2009-11-12 14:58:28
我想做的事情是相對簡單的:我有一個nvarchar字符串和一個ID表。我想獲得id(s) - 我無法確定nvarchar是否是唯一的 - 對於給定的字符串。 – Aaginor 2009-11-12 15:35:27