日期:2014-05-20  浏览次数:21183 次

DataTable.Select时遇到星号时出错,请高手帮忙解决
string   filter   =   "spec   like   '%24*15% ' ";
DataRow[]   rows   =   datatable.select(filter);
运行时出现以下错误:

Like   运算符中出错:   字符串模式“%24*15%”无效。

去掉星号就没有错了,请问高手是怎么回事?

------解决方案--------------------
use "[] " for special characters, and you can search "DataColumn.Expression " in MSDN to get more detail.

Sample code as follows:
string filter = "spec like '%24[*]15% ' ";
DataRow[] rows = datatable.select(filter);
------解决方案--------------------
在 LIKE 比较中,* 和 % 两者可以互换地作为通配符。如果 LIKE 子句中的字符串包含 * 或 %,那么这些字符应用中括号([])对其进行转义。如果子句中有中括号,那么中括号字符应用中括号对其进行转义(例如 [[] 或 []])。在模式的开头和结尾,或者在模式的结尾,或在模式的开头,都允许使用通配符。