ASP中这个语句该怎样写?初学者的烦恼

来源:百度知道 编辑:UC知道 时间:2024/05/21 15:12:53
这个IF语句该怎样写?
下面是一个简单投票系统的处理文件! 实现功能是:一个IP一个小时内只能投一次票!

<%
set myconn=Server.CreateObject("ADODB.Connection")
myconn.open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "&server.Mappath("user.mdb")
set rs=server.CreateObject("ADODB.RecordSet") '连接数据库
rs.open "select * from toupiao where ip='"&request.form("ip")&"'",myconn,1,1 '从数据库中找是否有当前IP的记录
if not rs.eof then '如果有IP记录
lasttphour=hour(rs("time")) '上次投票的时间的小时
nowhour=hour(now) '现在时间的小时
if (nowhour-lasttphour)<1 then '如果两次相隔小于1个小时

response.write "<script language=javascript> alert('对不起!一个小时只能投一次票!');location.href='index1.asp';</script>"
response.End()
end if
rs.close

else '如果无IP记录则执行下面的代码!下面插入到数据库的代码都正确,测试过了!可有IP记录又相差大于1个小时不会弄了?
'......插入到数据库

仔细的看了一下,还是没看太明白,我总结一下,说的不对指出来。
===========================================================
当我投票的时候,向数据表查询我以前是否投过票,如果没有投过票那么投票成功;如果以前投过票,那么判断上次投票的时间与当前的时间差是否大于1小时,如果大于1小时,那么投票成功,如果不大于1小时那么投票失败。
===========================================================
不知道我说的对不对,要是对的话你给发个信,然后我给你写代码。
===========================================================
<%
set myconn=Server.CreateObject("ADODB.Connection")
myconn.open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "&server.Mappath("user.mdb")
set rs=server.CreateObject("ADODB.RecordSet") '连接数据库
rs.open "select * from toupiao where ip='"&request.form("ip")&"'",myconn,1,1 '从数据库中找是否有当前IP的记录
if not rs.eof then '如果有IP记录

Dim jg ' 2次时间的间隔
jg = abs(datediff("h",rs("time"),now()))
if jg<1 then
response.Write("1小时内严禁重复投票")
el