objDataSet.Tables[0].DefaultView.RowFilter="品码 like '%159%'";
数据集里有一条记录的品码=115901,
上面这句的条件 "品码 like '%159%'",
或者写成"品码 like '115901'",都可以成功得到想要显示的记录,
但用下划线就不行了,如:"品码 like '__5901'",只要其中有一个下划线就不能得到想要的数据,但这样写在SQLServer里就可以,
哪位告诉我这是怎么回事,该怎么写才对?

解决方案 »

  1.   

    只能用* 和 %
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070212http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    看一下MSDN吧。里面有可以使用的符号
      

  3.   

    呵呵,我看了MSDN上的说得不清不楚的,谢谢你们了~~
      

  4.   

    我用"*"来表示,当"*"在字符串边上时就可以顺利通过,如"**59**"
    当"*"在中间时就报错:Like 运算符中出错: 字符串模式“1****1”无效。
    是不是要把"*"用"\"转义一下?但我输入string str="\*"时却报"无效的字符串"
      

  5.   

    在字符串的中间不允许使用通配符。例如,不允许 'te*xt'。看msdn
      

  6.   

    DataRow[] drs = objDataSet.Tables[0].Select("品码 like '__5901'");
    这样试试看,有下划线也可以用得吧。
      

  7.   

    呵呵,直接去SQL去查的话是很方便,但效率不高啊,老是读数据库,数据还要在网上传来传去,多费劲