注册 登录
编程论坛 ASP技术论坛

[求助]求一段程序的写法

读书危害健康 发布于 2007-11-09 23:44, 589 次点击
一个party表中一个“生日”字段和一个“名字”字段,当系统的时间和生日里的时间一致时,将弹出一个新的窗口,提示某人生日快乐,请问该怎么写?
set rs = server.CreateObject("adodb.recordset")
if sql="select * from party where 生日=date() " than
"<a href=javascript:winopen(b/sr.htm)></a>"
这样写肯定是不行的,我只是想形象的把我的意思表达出来,希望你们能明白我的意思。sr.htm是提示某人生日快乐的页面,现在是这个页面做出来了,该怎么做才能达到我想要的效果呢?且没人过生时不弹窗,有人过生时才弹出窗口。
7 回复
#2
madpbpl2007-11-10 00:04
set rs=Server.CreateObject("adodb.recordset")
sql ="select * from [party] where 生日=date()"
rs.open sql,conn,1,1
if not (rs.eof and rs.bof) then
response.write "<script language='javascript'>"
response.write "window.open('sr.htm',"mywin",......) '......表示参数,楼主补齐
response.write "</script>"
end if
个人看法,楼主作个参考.
#3
笨笨林2007-11-10 07:43
我最近也写了这样一个农历(我这里全是按农历算生日的)生日的功能,刚开始只是日期对比,但是不行,因为年数永远对不上,所以想了一下其它方法,仅供参考,因为生日只要月数,日期都对上才能有用,所以对比的时候要把年份丢掉。先把当前日期的月份,日期保存下来,可以保存到两个变量中。以下就是我想的两个方法。
1,循环读取每一条数据库生日,对比每一条记录中生日的月,日,都相符时就可以,否则,无同学过生日。
2,将当前保存的月*31+日 算出一个整数值,然后读取记录后也将月*31+日,相等就是该同学过生日,否则无同学过生日,这种对比值的方法还可以算出哪些同学将要过生日,我用的就是这种。
因为同学录班上一致要求保密,有要看效果的可以和我联系,不便发到网上。

也想听取其他大虾的方法,也好学习一下。

[此贴子已经被作者于2007-11-10 7:47:27编辑过]

#4
qhscqb2007-11-10 12:59
dim rs,sql
set rs=server.createobject("adodb.recordset")
sql="select * from party"
rs.open sql,conn,1,1
'下面列出数据库中的所有记录
rs.movefirst
for i=1 to rs.recordcount
'此处进行对用户名生日的具体判断
if rs.fields("生日")=date() and rs.fields("名字")=session("usrname") then
response.write "<script language='javascript'>alert('今天是您的生日!');</script>"
end if
rs.movenext
next
'session("usrname")是指当前登录到论坛的用户名.
#5
qhscqb2007-11-10 13:04
以下是引用qhscqb在2007-11-10 12:59:25的发言:
dim rs,sql
on error resume next
set rs=server.createobject("adodb.recordset")
sql="select * from party"
rs.open sql,conn,1,1
'下面列出数据库中的所有记录
rs.movefirst
for i=1 to rs.recordcount
'此处进行对用户名生日的具体判断
if rs.fields("生日")=date() and rs.fields("名字")=session("usrname") then
response.write "<script language='javascript'>alert('今天是您的生日!');</script>"
end if

rs.movenext
next
'session("usrname")是指当前登录到论坛的用户名.

加上"on error resume next"可以防止下面判断无满足条件进出错

#6
笨笨林2007-11-10 13:11
if rs.fields("生日")=date()
这可能会相等吗?比如说:1988-11-10会等于2007-11-10吗?
#7
qhscqb2007-11-10 13:18
可以将生日字段的日期中的月和日提取出来.
#8
qhscqb2007-11-10 13:33
以下是引用qhscqb在2007-11-10 13:04:47的发言:

加上"on error resume next"可以防止下面判断无满足条件进出错

if month(rs.fields("生日")) & day(rs.fields("生日"))=month(date) & day(date) and rs.fields("名字")=session("usrname") then

1