能否提个ASP中按日期查询的问题(100分)

  • 主题发起人 主题发起人 redmig
  • 开始时间 开始时间
R

redmig

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ASP和ACCESS做了一个小程序,其中有个查询功能,我想做的可以通过输入两个日期来选定一段日期查询记录,查询语句如下:
sql="select * from request_new where system like '%"&system&"%' and cname like '%"&cname&"%' and ename like '%"&ename&"%' and apply like '%"&apply&"%' and applydate between '%"&date1&"%' and '%"&date2&"%'"
但是总是报错:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'
ODBC 驱动程序不支持所需的属性。
/newqueryok.asp,行30
我想是数据类型不匹配的原因,请高手指教一下,象这种查询一个日期段的语句应该怎么写(包括数据库中应设为什么数据类型)
我在ACCESS里这个日期字段是用日期/时间类型存储的,在网页上输入数据时是用DATE()函数取的日期,请直接把正确的查询语句写出来好吗?谢谢
急盼回复。
 
用datevalue函数转换。
 
我用DATEVALUE函数转换过了,但是仍然报上面的错误
 
错误信息不是说了缺少 'End' 吗,仔细看看你的代码。
 
sql语句有错误
 
不是END的问题,肯定是SQL语句的错,但是我不知道该怎么改。能否把正确的语句写上,谢谢。
 
select * from request_new where applydate>=#2003-1-1# and applydate<=#2003-11-11#
 
我的SQL语句在ACCESS中均没问题,但是一加入到ASP中,加上那些"%","#","'","&amp;"号我就搞不清楚了,就会报上面的错误
 
首先Response.write Sql
response.end
这样就只是把你的SQL语句打出来,然后在access中执行,如果没有问题基本上就不会有问题的
我估计你的SQL语句写得确实有问题,对于日期类型不要用%,而且Access和Sqlserver对于日期的使用都不相同,Access是用#来分割的
 
还有你也可以使用排除法,一次只是加入一个where语句,看看是哪个字句有问题,这样能够缩小问题的范围
 
可以用ASP的response.wirte()输出你的sql语句看看你的那些"%","#","'","&amp;"号是否正确。
 
这个主要就是在 '%"&amp;date1&amp;"%' date你加%干什么阿!!
 
这是准确的
sql="select * from senddate where reid=0 and inputdate between " &amp;
"#" &amp;
mydate &amp;
"# and #" &amp;
mydate1 &amp;
"# order by id desc"
 
日期类型也没有必要加‘%’吧
 
response.write sql
response.end
'看看SQL输出正确吗
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部