关于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中去看能不能得到结果