记录集用GetRows返回数组时的分页
'''''''''''''''''''''''''''''''''''''''''''
'函数名: ShowPageLink()
'参数 : 无
'作用 : 显示分页连接
'返回值:无
'''''''''''''''''''''''''''''''''''''''''''
Sub ShowPageLink()
Response.Write "<div align='center'>"
Response.Write "共<font color='red'>"&count+1&"</font>条纪录 "
Response.Write "分<font color='red'>"&myint((count+1)/10)&"</font>页/每页"&size&"条 "
Response.Write "当前第<font color='red'>"&Cint(page)+1&"</font>页 "
'如何显示上一页
if flag <> 2 and flag<> 3 then
Response.Write "<a href=""?page="&Cint(page)-1&""">"
else
Response.Write "<a>"
end if
Response.Write "上一页</a> "
'如何显示下一页
if flag <> 1 and flag<> 3 then
Response.Write "<a href=""?page="&Cint(page)+1&""">"
else
Response.Write "<a>"
end if
'Response.Write flag
Response.Write "下一页</a></div>"
End Sub
'-------------------------------sub end---------------------------------------------------
'''''''''''''''''''''''''''''''''''''''''''
'函数名: SetPageCount(pagesize)
'参数 : pagesize - 每页显示最多记录数
'作用 : 1.计算并返回此页循环上限
' 2.控制控制状态:
' flag = 1 是最后一页
' flag = 2 是第一页
' flag = 3 既是第一页,又是最后一页
'返回值: 此页循环上限
'''''''''''''''''''''''''''''''''''''''''''
Function SetPageCount(Pagesize)
dim n,s
page = Request.QueryString("page")
size = Pagesize
StartPageCount=page*pagesize
if page = "" then
page =0
end if
count = ubound(RsMsg,2)
'当到了这页的时候已经显示了多少条记录?
'还有多少条?
s = count-page* pagesize '剩余的记录条数
'如何循环?
if page = 0 and s <=pagesize then' 既是第一页,又是最后一页
flag = 3
n = count
else
if s <=pagesize then '最后一页了
n = count
flag = 1
else '第一页
n = (page+1)*pagesize
flag = 2
end if
end if
EndPageCount = n
End Function
'----------------end function--------------------------------------------------
'''''''''''''''''''''''''''''''''
'函数名: myint(avalue)
'作用 : 1.1 return 2 , 1 return 1
'返回值: 无
''''''''''''''''''''''''''''''''
function myint(avalue)
dim rvalue
if avalue>int(avalue) then
rvalue=int(avalue)+1
else
rvalue=int(avalue)
end if
myint = rvalue
end function
'----------------------end------------------------
'例:
'RsMsg = Rs.GetRows
'count 纪录总条数
'page 当前页数
'StartPageCount 此页循环开始值
'EndPageCount 此页循环结束值
'flag 状态控制
'size 分页大小
dim count,page,StartPageCount,EndPageCount,flag,size,RsMsg
'得到RsMsg数组
'CreateRs
'OpenDBConn()
'call GetRsMsg(RsMsg)
'Set Rs = Nothing
'CloseDBConn
if not isarray(RsMsg) then
Response.Write "无纪录"
else
call SetPageCount(10)
for i = StartPageCount to EndPageCount
'显示纪录的代码
next
call ShowPageLink()
end if