当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用RecordSet实现分页(by Daniel Adrian)

ASP
Server Application Error错误解决思路
ASP教程:在IIS环境下自己设置404页面
ASP代码出现80040e14错误的解决方法
Http_Referer,Server_Name和Http_Host
HTTP_X_FORWARDED_FOR和REMOTE_ADDR
总结的Server.Mappath的用法
巧用ASP脚本命令重启服务器
实现数字字符串的最大值、最小值和平均值
详解ASP脚本的执行顺序
理解认识阿里妈妈淘客系统对外接口通用规范
网站开发者参考:开源ASP网站源码
IIS管理程序Adsutil.vbs修改FTP服务器的PASV端口范围
ASP程序中调用函数Now()异常的问题
流量大的网站不要选择万能空间
网站挂马方式大总结
启动 W3SVC 服务报错怎么解决
Vista系统安装IIS7配置ASP运行环境
Server Application Error 8004EOOF错误
ASP不用模板直接简单生成HTML页面
ASP教程:gb2312和utf-8乱码问题解决

ASP 中的 用RecordSet实现分页(by Daniel Adrian)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 161 ::
收藏到网摘: n/a

  Paging through a recordset
by Daniel Adrian

Skill level: Beginner

First posted: Monday, October 09, 2000





Paging through a recordset

When I want to develop an application with a lot of records to show, I make pages so I can easily navigate
through the database and make the page look good and load quickly.

This can be done very easily. Shall we start?

Take a look at these next lines of code:

If Request.QueryString("Page") = "" Then
        Page = 1
    Else
        Page = Request.QueryString("Page")
    End If

    recordsToShow = 20
   n = 0



These lines of code are saying if the value of Request.QueryString("Page") is without any value then page
=1 else page gets the page the user requested. Recordstoshow is the number of lines in each page.
N is number of records printed.

Now lets put it into action:
objrs.PageSize = recordsToShow



(objrs is ADODB.Recordset Object)



In pagesize we are telling the record set that every page will have 20 records because recordstoshow is 20.

Now let’s pull out some records:

Do until objrs.EOF
if n = recordsToShow then
exit do
end if
write what that you want here
n=n+1
loop



Now we are writing date for the database and every time that we are repeating the loop we check if we done
it 20 times some when it’s 20 we will stop the loop.

Now let’s write the navigation:

if Page <> 1 then
Response.Write "<a href=pagename.asp?currentPage=" & currentPage - 1 &">"
end if
Response.Write "<< Back "

   if Page <> 1 then
   Response.Write "</a>"
   end if

'-------------------------
  For intCount = 1 to objRs.PageCount
   
   If intCount = 1 then
      Response.Write " | "
   End If
   
   If cint(intCount) = cint(Page) then
      Response.Write "<font color=darkblue><b>" & intCount & "</b></font> | "
   Else
Response.Write "<a hr ef=pagename.asp?currentPage=" & intCount & """>" & intCount & "</a> | "
   End If
   
Next
'-------------------------
if cint(page) = cint(objRs.PageCount) then
Response.Write "<a href=pagename.asp?currentPage=" & currentPage + 1 & ">"
end if
Response.Write " Next >> "
if cint(Page) = cint(objRs.PageCount) then
Response.Write "</a>"
end if



First we are checking if the current page is not 1 so it’s more then one so we can go back.

After this we need to write all of the pages in the record set.
Now we need to check if we can do next.

That is all! Yes it’s that easy!