如题
dbcmd.CommandText = "SELECT * from T_contInfo where keyWord like '*ABC*'";
dr = dbcmd.ExecuteReader();这样的sql语句执行出来没有结果。【用select count(*) 查询结果数量是0】
可是我将这个sql语句显示在页面上然后复制到access中执行查询 是有结果的。
不知道是什么原因。
同时 若"SELECT * from T_contInfo "程序正常。请教高手 原因及解决方法 立等!谢谢!

解决方案 »

  1.   

    楼主的*是啥意思?
    一般模糊查询用的是like '%key%'
      

  2.   

    access中是*没有%,
    楼主断点调试,看看不报别的错误吗?
      

  3.   

    Access里like的通配符用法是这样: 
        “?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字 
        所以应该是: 
        select * from databasename where fieldname like '*XX*' 
    原来在SQL SERVER 里是用%%的,在ACCESS里是用**号的,怪不得都找不到数据!但如果在VS2005的TableAdapter里又要用%%,用* 不行!!!http://www.webjx.com/htmldata/2006-07-03/1151861862.html
      

  4.   

    *表示任意个任意字符这个语句在access没问题 能查到想要的结果。
    在asp.net(c#)中 单步调试没任何错误 就是结果不存在。当*改成%后 asp.net结果要么是第一条记录 要么是全部记录 (错误结果)  
               access中无结果(正确结果)另 表中的keyWord 字段是个字符串 数据表中一共只有几条记录 这个字段的值类似 "热点|男人|推荐|最新|" 这样 
    而我sql语句查询的是   SELECT * from T_contInfo where keyWord like '*男*'
      

  5.   

    用%号吧。。我用这么久ACC。。都是用%啊。。