使用datatable.select进行筛选,出现错误。代码如下,得出的结果3行都包含在drs中DataTable dt = new DataTable();
                dt.Columns.Add("代码");
                dt.Columns.Add("代码名称");
                dt.Rows.Add(new object[] { "**", "11" });                dt.Rows.Add(new object[] { "b1", "3" });                dt.Rows.Add(new object[] { "c2", "155" });
                DataRow[] drs = dt.Select("代码 like '************************************%'");          

解决方案 »

  1.   

    *是通配符啊在 LIKE 比较中,* 和 % 两者可以互换地作为通配符。如果 LIKE 子句中的字符串包含 * 或 %,那么这些字符应用中括号([])对其进行转义。如果子句中有中括号,那么中括号字符应用中括号对其进行转义(例如 [[] 或 []])。在模式的开头和结尾,或者在模式的结尾,或在模式的开头,都允许使用通配符。例如:"ItemName LIKE '*product*'""ItemName LIKE '*product'""ItemName LIKE 'product*'" 
      

  2.   

    你需要
    dt.Select("代码 like '[*][*]%'");
      

  3.   

    DataRow[] drs = dt.Select("代码 like '[*]*%'");
      

  4.   

    需要把你like子句中的“*”用“[]”括起来 而且不能用那么长的“*”号 长度不能超过你的字段中的个数
      

  5.   

    DataRow[] drs = dt.Select("代码 like '************************************%'");
    你这么多*和%之间什么都没有,和用已个%有什么区别,*是算一个任意字符%是任意个字符,
    你这 '************************************%'还不是指任意个字符?