查找具有某些字符串的数据的问题

时间:2011-10-13 19:32:17

标签: c# asp.net escaping

我正在努力使这项工作,但不幸的是它给了我以下错误

Error in Like operator: the string pattern '%testing : | / - “ ‘ & * # @%' is invalid.

只要不包含上面的字符串,此搜索就可以工作。这是我的搜索代码

DataRow[] rows = GetAllItems.Select("Name like '%" + cleanedText + "%'");

我试过 - 修改每个cHaos(尽管仍然是错误的)

  string cleanedText =  SearchText.Replace("\"", "\\\"").Replace("'", "''");

但是当我在搜索中输入以下字符串时没有运气,虽然我知道它在数据中

testing : | / - “ ‘ & * # @%

任何人都有一个很好的建议

谢谢

1 个答案:

答案 0 :(得分:3)

在LIKE比较中,%和*可以互换地用于通配符。

因此,您需要将这些字符括在表达式字符串的方括号中,如下所示:

Name like '%testing : | / - “ ‘ & [*] # @%'

请参阅DataColumn.Expression

从以上链接:

  

通配符

     

*和%可以互换地用于通配符   在LIKE比较中。如果LIKE子句中的字符串包含*或   %,这些字符应括在括号([])中。如果是一个支架   在该子句中,每个括号字符应包含在中   括号(例如[[]或[]])。