如题
dbcmd.CommandText = "SELECT * from T_contInfo where keyWord like '*ABC*'";
dr = dbcmd.ExecuteReader();这样的sql语句执行出来没有结果。【用select count(*) 查询结果数量是0】
可是我将这个sql语句显示在页面上然后复制到access中执行查询 是有结果的。
不知道是什么原因。
同时 若"SELECT * from T_contInfo "程序正常。请教高手 原因及解决方法 立等!谢谢!
dbcmd.CommandText = "SELECT * from T_contInfo where keyWord like '*ABC*'";
dr = dbcmd.ExecuteReader();这样的sql语句执行出来没有结果。【用select count(*) 查询结果数量是0】
可是我将这个sql语句显示在页面上然后复制到access中执行查询 是有结果的。
不知道是什么原因。
同时 若"SELECT * from T_contInfo "程序正常。请教高手 原因及解决方法 立等!谢谢!
一般模糊查询用的是like '%key%'
楼主断点调试,看看不报别的错误吗?
“?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字
所以应该是:
select * from databasename where fieldname like '*XX*'
原来在SQL SERVER 里是用%%的,在ACCESS里是用**号的,怪不得都找不到数据!但如果在VS2005的TableAdapter里又要用%%,用* 不行!!!http://www.webjx.com/htmldata/2006-07-03/1151861862.html
在asp.net(c#)中 单步调试没任何错误 就是结果不存在。当*改成%后 asp.net结果要么是第一条记录 要么是全部记录 (错误结果)
access中无结果(正确结果)另 表中的keyWord 字段是个字符串 数据表中一共只有几条记录 这个字段的值类似 "热点|男人|推荐|最新|" 这样
而我sql语句查询的是 SELECT * from T_contInfo where keyWord like '*男*'