asp实现的可以提醒生日的几种方法附代码

  asp生日自动提醒小程式 用ASP编写,调试通过,使用方便-asp birthday automatically remind small programs with the preparation of ASP, debug, easy to use

  方法一:

  最初写的一个用于班级网站的最近一个月同学生日的提醒小程序。虽然不怎么样,而且很乱,但是最起码是自己动脑筋去想的,所以我比较看重。ASP程序虽然有好多可以借鉴人家的。但是我想更多时候,我们应该在经典上有所突出,有所创新那不至于默守陈规而无永远只能做一个平凡的程序员。

  <%

  dim     daydif

  dim     days '定义查询前后多少天内生日的同学,如60则查询前一个月后下一个月生日的同学名单。

  SQL="Select name,brithday from class "

  Set rs=server.CreateObject("ADODB.RecordSet")

  rs.Open SQL,con,1,1

  for i=1 to rs.recordcount     '读出所有的数据

  if rs.eof then exit for

  daydif=abs(datediff("d",date,rs("birthday")) )mod 365

  if daydif < days

  response.write rs("name")%>

  response.write "<font color="#FF0000">"

  response.write rs("birthday")&"、</font>"

  end if

  rs.movenext

  loop

  rs.Close

  Set rs=nothing

  %>

  方法二:

  <%

  days1=split(date(),"-")

  days2=split(DateAdd("d",5,date()),"-")

  sql="select [id],Memberid,birthday from customers "

  if days1(1)<>days2(1) then

  sql=sql+" where (month(birthday) = '"&days1(1)&"' or month(birthday)='"&days2(1)&"')"

  else

  sql=sql+" where month(birthday) = '"&days1(1)&"'"

  end if

  sql=sql+" and day(birthday) between '"&days1(2)&"' and '"&days2(2)&"'"

  'Response.Write(sql)

  set conn=server.CreateObject("ADODB.connection")

  conn.open connstr

  set rs=Conn.execute(sql)

  if not rs.eof then%>

  <script language="JavaScript">

  window.onload = getMsg;

  window.onresize = resizeDiv;

  window.onerror = function(){}

  //短信提示使用(asilas添加)

  var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;

  function getMsg()

  {

  try{

  divTop = parseInt(document.getElementById("eMeng").style.top,10)

  divLeft = parseInt(document.getElementById("eMeng").style.left,10)

  divHeight = parseInt(document.getElementById("eMeng").offsetHeight,10)

  divWidth = parseInt(document.getElementById("eMeng").offsetWidth,10)

  docWidth = document.body.clientWidth;

  docHeight = document.body.clientHeight;

  document.getElementById("eMeng").style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;// divHeight

  document.getElementById("eMeng").style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth

  document.getElementById("eMeng").style.visibility="visible"

  objTimer = window.setInterval("moveDiv()",10)

  }

  catch(e){}

  }

  function resizeDiv()

  {

  i+=1

  if(i>500) closeDiv()

  try{

  divHeight = parseInt(document.getElementById("eMeng").offsetHeight,10)

  divWidth = parseInt(document.getElementById("eMeng").offsetWidth,10)

  docWidth = document.body.clientWidth;

  docHeight = document.body.clientHeight;

  document.getElementById("eMeng").style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10)

  document.getElementById("eMeng").style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10)

  }

  catch(e){}

  }

  function moveDiv()

  {

  try

  {

  if(parseInt(document.getElementById("eMeng").style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))

  {

  window.clearInterval(objTimer)

  objTimer = window.setInterval("resizeDiv()",1)

  }

  divTop = parseInt(document.getElementById("eMeng").style.top,10)

  document.getElementById("eMeng").style.top = divTop - 1

  }

  catch(e){}

  }

  function closeDiv()

  {

  document.getElementById('eMeng').style.visibility='hidden';

  if(objTimer) window.clearInterval(objTimer)

  }

  </script>

  <DIV id=eMeng style='BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX:99999; LEFT: 0px; VISIBILITY: hidden; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: 180px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: 116px; BACKGROUND-COLOR: #c9d3f3'>

  <TABLE style='BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid' cellSpacing=0 cellPadding=0 width='100%' bgColor=#cfdef4 border=0><TBODY>

  <TR>

  <TD style='FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif); COLOR: #0f2c8c' width=30 height=24></TD>

  <TD style='FONT-WEIGHT: normal; FONT-SIZE: 12px; BACKGROUND-IMAGE: url(msgTopBg.gif); COLOR: #1f336b; PADDING-TOP: 4px;PADDING-left: 4px' vAlign=center width='100%'> 生日提示:</TD>

  <TD style='BACKGROUND-IMAGE: url(msgTopBg.gif); PADDING-TOP: 2px;PADDING-right:2px' vAlign=center align=right width=19><span title=关闭 style='CURSOR: hand;color:red;font-size:12px;font-weight:bold;margin-right:4px;' onclick=closeDiv() >×</span><!-- <IMG title=关闭 style='CURSOR: hand' onclick=closeDiv() hspace=3 src='msgClose.jpg'> --></TD>

  </TR>

  <TR>

  <TD style='PADDING-RIGHT: 1px; BACKGROUND-IMAGE: url(1msgBottomBg.jpg); PADDING-BOTTOM: 1px' colSpan=3 height=90> <DIV style='BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 13px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 13px; FONT-SIZE: 12px; PADDING-BOTTOM: 13px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 18px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%'>近期将要过生日的会员有:<BR><BR> <DIV align=center style='word-break:break-all'>

  <%i=1

  do while not rs.eof

  Response.Write("<a href='/System/AdmMember/Edit.asp?id="&rs(0)&"' title=''><font color='red'>"&rs(1)&"</font></a>("&month(rs(2))&"-"&day(rs(2))&")  ")

  if i mod 2 =0 then response.Write("</br>")

  rs.movenext

  i=i+1

  loop%></DIV></DIV> </TD>

  </TR>

  </TBODY>

  </TABLE>

  </DIV>

  <% end if

  rs.close

  set rs=nothing

  conn.close()

  set conn=nothing %>

  方法三:

  sql server:

  <%

  If month(Now())=12 and day(now())>24 Then

  sSql = "select FoodID, Strname, TimeID from Tfood where ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 and datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))>=0 ) Or ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate())+1,TimeID))<=200 and datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate())+1,TimeID))>=0 )"

  Else

  sSql = "select FoodID, Strname, TimeID from Tfood where ( datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))<=200 and datediff(d,getdate(),dateadd(year,datediff(Year,TimeID,GetDate()),TimeID))>=0 )"

  End If

  %>

  Access:

  <%

  If month(Now())=12 and day(now())>24 Then

  sSql = "SELECT *

  FROM customers

  WHERE ( datediff('d',date(),dateadd('yyyy',datediff('yyyy',Birthday,date()),Birthday))<=5 and datediff('d',date(),dateadd('yyyy',datediff('yyyy',Birthday,date()),Birthday))>=0 ) Or ( datediff('d',date(),dateadd('yyyy',datediff('yyyy',Birthday,date())+1,Birthday))<=5 and datediff('d',date(),dateadd('yyyy',datediff('yyyy',Birthday,date())+1,Birthday))>=0 );"

  Else

  sSql = "SELECT *

  FROM customers

  WHERE (DateDiff('d',date(),DateAdd('yyyy',DateDiff('yyyy',[Birthday],date()),[Birthday]))<=5 And DateDiff('d',date(),DateAdd('yyyy',DateDiff('yyyy',[Birthday],date()),[Birthday]))>=0);"

  End If

  %>