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

cookie值和数据库记录判断问题

madeagle 发布于 2011-03-09 10:10, 756 次点击
想实现一个功能,就是刷新一个页面,记录一下编号,下次访问时为从上一次记录的编号开始
开始用Session来解决,后来在IIS6里会出现几秒后失效的问题,设置TIMEOUT属性也不好用
于是改用COOKIE来解决,但判断总会出现一个问题  
If CurNum<rsUsers.RecordCount-1 then 这个判断总不正确  
打印出结果:
上次存储号为:2
2>=7个记录数,清零
0<7个记录数,增加1
1<7个记录数,增加1

代码大致如下
<%
'打开数据库
StrSQL="DBQ="+server.mappath("../data/#database.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open StrSQL

'查询记录数
Set rsUsers=Server.CreateObject("ADODB.RecordSet")
SqlUsers="select * from [admin]"
rsUsers.Open SqlUsers,conn,1,1


Dim CurNum
If  Request.Cookies("CurNum")="" then  
    CurNum=0  
Else
    CurNum=Request.Cookies("CurNum")
End if

Response.write "上次存储号为:"& CurNum&"<br>"

For i=1 to 3
    If CurNum<rsUsers.RecordCount-1 then
            Response.write  CurNum&"<"&rsUsers.RecordCount-1&"个记录数,增加1"&"<br>"
                CurNum=CurNum+1                 
        Else
            Response.write  CurNum&">="&rsUsers.RecordCount-1&"个记录数,清零"&"<br>"
                CurNum=0               
        End If         
next  

Response.Cookies("CurNum")=CurNum

'关闭数据库和数据集
set rsUsers=nothing
conn.close
set conn=nothing

%>
4 回复
#2
madeagle2011-03-09 10:16
如果
If CurNum<rsUsers.RecordCount-1 then
改为
If CurNum<7 then
数据则为正确的
晕,弄了一晚上也没弄出结果

#3
撒布拉斯2011-03-09 14:55
response.write rsUsers.RecordCount-1
你看看那个值是多少啊?
#4
madeagle2011-03-09 14:58
打印出结果:
上次存储号为:2
2>=7个记录数,清零
0<7个记录数,增加1
1<7个记录数,增加
这个有呀,显示出来的就是这个结果
存储记录 2   数据库记录数7   2>=7条件成立
#5
madeagle2011-03-10 11:12
cint(CurNum)已解决,类型不匹配
1