我有一个搜索页面,我正在尝试从查询字符串中提取搜索字词,并使用LIKE SQl命令搜索该字词的某些文本。这是代码:
string searchTerm = "";
List<string> argList = new List<string>();
if (!String.IsNullOrWhiteSpace(Request.QueryString["searchTerm"]))
{
searchTerm = Request.QueryString["searchTerm"];
}
if (searchTerm != "")
{
argList.Add(searchTerm);
selectQueryString += "WHERE FullDescription LIKE '%@0%' ";
numOfArguments++; //increment numOfArguments by 1
}
queryResults = db.Query(selectQueryString, argArray);
如果我运行该页面,它不会给我一个错误,但它表示它无法找到任何匹配,即使我知道有匹配。作为测试,我替换了&#39;%@ 0%&#39;与别墅%&#39;%而且效果很好。
也许它没有将@ 0识别为字符串?
答案 0 :(得分:2)
原来它接受@ 0作为文字。我终于找到了一种分离方式。
'%' + @0 + '%'