日期:2014-05-17  浏览次数:21081 次

关于Like查询不到结果的奇怪问题——急!!
Access数据表(举例1个):
    表名:company,
    字段:id,主键
                name,文本
                shortname,文本
                discribe,备注
                cdate,日期
                ……

ASP代码:
    数据库连接方式:
        Provider=Microsoft.Jet.OLEDB.4.0
    SQL语句(其中1条):
        sql= "select   id,name,cdate   from   company   where   name   like   '% "   &   keyword   &   "% '   or   shortname   like   '% "   &   keyword   &   "% '   or   discribe   like '% "   &   keyword   &   "% '   order   by   cdate   desc "

其他:
    访问页面时,IE采用UTF-8提交keyword,汉字、英文、数字等情况均有。

问题现象:
    1.数据库记录较少时,查询结果均正常。
    2.数据库记录超过2000条时,根据keyword的不同,有时(如“的”、“IT”、“北京”、“软件”)查询不返回任何结果,rs.recordcount根本没有(不是返回0或-1),有时(如“成都”、“公司”)又正常。
    3.去除涉及备注字段的   or   discribe   like '% "   &   keyword   &   "% '   部分,结果全部正常。
    4.同时还有其他几个数据表和查询方式类似,结果略有差异。如keyword=“的”时,company无查询结果,news等则有;keyword=“北京”时,几者均无结果。

求助解决方法!谢谢!

------解决方案--------------------
sql= "select id,name,cdate from company where name like '* " & keyword & "* ' or shortname like '* " & keyword & "* ' or discribe like '* " & keyword & "* ' order by cdate desc "

看行不
------解决方案--------------------
response.write sql
response.end
试一试,看有没有得到正确的sql,然后把输出的sql复制到access中去看能不能得到结果