CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

今天碰到一个奇怪的问题,大家过来看看怎么解决

楼主liuzm55(天涯)2006-07-03 18:09:41 在 Web 开发 / ASP 提问

我有段程序是关于搜索的,其实很简单的一个程序,前台设置查询条件,当执行"select   *   from   zp   where   1=1   and   job   like   '%财务%'   and   DateDiff('d',idate,Date())<=14   "类似的语句时,可以正常执行显示,可如果执行"select   *   from   zp   where   1=1   and   job   like   '%财务%'"一类的语句时,就报错,提示"Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E21)  
  ODBC   驱动程序不支持所需的属性。",我怎么看,也没发现有什么问题.哪位能告诉我哪儿错了??? 问题点数:50、回复次数:12Top

1 楼liuzm55(天涯)回复于 2006-07-03 18:20:23 得分 0

在线等,急啊.Top

2 楼liuzm55(天涯)回复于 2006-07-03 18:29:09 得分 0

刚才测试的时候,就发现一个奇怪的问题:  
  如果有前台设置时间期限为两个月时,即执行查询语句:"select   *   from   zp   where   1=1   and   job   like   '%财务%'   and   DateDiff('d',idate,Date())<=60   ",也是无法执行该语句.Top

3 楼liuzm55(天涯)回复于 2006-07-03 18:55:07 得分 0

怎么没人回应啊?Top

4 楼cueixu1(紫之龙)回复于 2006-07-03 19:56:49 得分 0

job改成[job]先试验一下Top

5 楼liuzm55(天涯)回复于 2006-07-03 20:18:24 得分 0

没有用,故障依旧,不是字段名冲突,现在我找不出任何语法错误.Top

6 楼liuzm55(天涯)回复于 2006-07-03 20:29:15 得分 0

我把关键代码贴出来:  
  <%   key=trim(request("key2"))   '公司的关键字  
        job1=request("job")   '表示搜索职位的关键字  
   
        sdate=request("issuedate")   '发布的期限,以天为单位来比较的  
  %>  
  <%   set   rs=server.createobject("adodb.recordset")    
  if   not   isempty(request("page"))   then        
  pagecount=cint(request("page"))        
  else        
  pagecount=1        
  end   if  
  sql="select   *   from   zp   where   1=1"  
  if   job1<>""and   job1<>"请输入搜索职位关键字"   then  
  sql=sql   &   "   and   zp.[job]   like   '%"&job1&"%'"  
  end   if  
       
  if   key<>""   and   key<>"请输入公司关键字"   then  
  sql=sql   &   "   and     cname   like   '%"&key&"%'"  
  end   if  
  if   sdate<>"0000"   then  
  sql=sql&   "   and     DateDiff('d',idate,Date())<="&cint(sdate)  
  end   if  
  rs.open   sql,conn,1,1    
  %>  
  大家再仔细帮我看看Top

7 楼zhanghongwen(流氓蚊子)回复于 2006-07-03 21:45:15 得分 0

是用的SQL数据库吗?idate是什么类型?日期还是字符?Top

8 楼liuzm55(天涯)回复于 2006-07-04 07:19:51 得分 0

数据库是ACCESS的,IDATE是日期类型的.Top

9 楼yongfa365(http://www.yongfa365.com)回复于 2006-07-04 08:45:58 得分 0

同志,不要用1=1试试,这样的用法,跟得到字段名的那个语句相似,你可以用,   id<>0Top

10 楼liuzm55(天涯)回复于 2006-07-04 09:39:39 得分 0

故障和原来一样,这种情况太怪了.加上职位关键字,并设置时间期限为两周以内的都正常.而如果加职位关键字,把时间设置为不限时间,或一个月,两个月就报错.  
  如果只加公司关键字,不加职位关键字,时间期限随意设置会正常执行.  
  Top

11 楼slawdan(select 大便 from 粪池 where 蛆数<10)回复于 2006-07-04 09:43:33 得分 0

怀疑job字段不存在Top

12 楼liuzm55(天涯)回复于 2006-07-04 09:50:00 得分 0

job字段是肯定存在的,要不然设置期限为两周以内并加上职位关键字,都能正常执行.另外我在测试如果把条件改为:"job='"&job1&"'"执行正常,换上like就出错.Top

相关问题

关键词

得分解答快速导航

  • 帖主:liuzm55

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo