if not rsdate.eof then
ID=rsdate("ID")
Is_overdue="未过期"
rsdate.movenext
do while not rsdate.eof
ID=ID&","&rsdate("ID")
rsdate.movenext
loop
else
Is_overdue="<font color=red>已过期</font>"
end if
过期的显示过期,未过期的显示未过期,这个正确,
但是
我想把未过期的ID查询出来,过期的就不查询出来,可是过期的ID也被查询出来了,请问怎么做?
为了更好的让大家清楚~下面是查询语句,没有错误的~
set rsdate=server.CreateObject("adodb.recordset")
sql="select * from Product where datedif(d,'"&rsproduct("End_time")&"','"&date()&"')<1"
rsdate.open sql,conn,1,1
參考答案:你有没有试过我给的SQL语句?
sql="select * from Product where datediff(""d"",End_time,date())<0"
这个应该没错的,你自己写的SQL语句肯定错了,没有datedif函数。
==============================================
End_time字段里的数据是什么格式的?还有,数据类型是什么?日期还是字符?复制一个来看看。
==============================================
你不需要管它有效期是不是相同啊,让where子句里的表达式去计算就可以了
datediff(""d"",End_time,date())<0 这个表达式就是比较当前日期和过期日期的,小于0的表示未过期。
==============================================
问题补充答复:
你不是只要未过期的吗?所以在SQL语句里限定未过期的啊,过期的就不查询。
==============================================
应该是SQL语句的问题吧,改一下看看:
sql="select * from Product where datediff(""d"",End_time,date())<0"