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

代码解读

TZTJ 发布于 2010-07-06 17:04, 555 次点击
请教各位高手,能否帮解读代码吗?
PageCount=0
sql="select * from examhouse where subject like '"& subjectview &"' and type like '"& typeadd &"' and question like '%"& mykey &"%'"
set rs=conn.execute(sql)
while not rs.eof
    PageCount=PageCount+1   (这里是统计总的页数吗?)
    rs.movenext
wend

PageSize = 10
PageCount=(PageCount+PageSize-1)\PageSize
Page = CLng(Request("Page")
)               (代码表示什么意思呢?)
'分页显示
If not Page >1 Then Page = 1
If Page > PageCount Then Page = PageCount
i=page+(page-1)*9
rs.AbsolutePage = Page
   
(代码表示什么意思呢?)

3 回复
#2
hams2010-07-06 17:53
最基本的语法都搞不懂,先找本基础书把基础打一下吧。
#3
yms1232010-07-07 09:43
PageCount=0
sql="select * from examhouse where subject like '"& subjectview &"' and type like '"& typeadd &"' and question like '%"& mykey &"%'"
set rs=conn.execute(sql)
while not rs.eof
    PageCount=PageCount+1'这里应该是取得总的数据库记录数,不是总页数,这个变量名称是PageCount但并不在计算总页数  
    rs.movenext
wend

PageSize = 10
PageCount=(PageCount+PageSize-1)\PageSize'应该是求得总页数,这种算法头一次看到
Page = CLng(Request("Page"))’这是取得当前页               (代码表示什么意思呢?)
'分页显示
If not Page >1 Then Page = 1
If Page > PageCount Then Page = PageCount
i=page+(page-1)*9
rs.AbsolutePage = Page'设置记录集的当前页
不明白有些人这么写分页要彰显自己算法好?但是这样分页没有ADODB.RecordSet的内部分页来得实在有效,出了错误给自己和别人找麻烦。
#4
TZTJ2010-07-07 09:56
非常感谢版主耐心指点.我们的进步离不开版主的帮助,并且这种的帮助是无私的,令人佩服!.
这里我还是有几个不明白地方:
PageCount=(PageCount+PageSize-1)\PageSize'这个总页数算法好象不太正确,比如:
pagecount=30,应该是总共3页才正确,而根据它算法是3.9页.
再有page=page+(page-1)*9,如果page表示当前页数,那么就与If Page > PageCount Then Page = PageCount矛盾


[ 本帖最后由 TZTJ 于 2010-7-7 10:15 编辑 ]
1