谁来帮我看看这段代码?在线待答

来源:百度知道 编辑:UC知道 时间:2024/06/22 23:39:25
set rs1=server.createobject("adodb.recordset")
sql1 = "select * from [user] order by left(userinfo,10) desc"
rs1.open sql1,conn,1,1
response.write"最近30天过生日的同学<br>"
do while not rs1.eof
name=rs1("name")
birthday=left(userinfo,10)
h=birthday

if month(h)=10 then
d=month(h)
else
d=int(month(h))
end if

if day(h)=10 or day(h)=20 or day(h)=30 then
e=day(h)
else
e=int(day(h))
end if

f=month(date())

g=day(date())

a=d&e
c=f&g

if DateDiff("d",c,a)<31 then
response.write(name&"<br>")
else
response.write"没有同学过生日<br>"
end if
rs1.movenext
loop
rs1.close
set rs1=nothing

运行结果不符合,如,不在30天内的也显示出来。
谢谢了!谁能帮帮我!?

if DateDiff("d",c,a)<31 then
response.write(name&"<br>")
else
response.write"没有同学过生日<br>"
end if

如果这么写的话 ... 肯定最后输出的结果是 ...

张三
没有同学过生日
没有同学过生日
没有同学过生日
李四
没有同学过生日
没有同学过生日

改一下 Query 吧 ...

sql1 = "SELECT * FROM [user] WHERE datediff("d",生日字段,now()) ORDER BY left(userinfo,10) DESC"