asp中如何快速分页!--

asp中如何快速分页!--

ID:22369897

大小:61.50 KB

页数:7页

时间:2018-10-28

asp中如何快速分页!--_第1页
asp中如何快速分页!--_第2页
asp中如何快速分页!--_第3页
asp中如何快速分页!--_第4页
asp中如何快速分页!--_第5页
资源描述:

《asp中如何快速分页!--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Asp中如何快速分页!>>近日一直在研究如何才能写出高小的分页算法,大概整理了一下,思路如下:首先数据库里需要有一个自动编号字段(ID)。然后第一次访问的时候,取出所有记录,定制好每页的记录数PageSize,计算出页数,然后根据页数建立一个一维数组PageId(PageCount),PageId(0)保存记录初试条件,然后对应每个元素保存每页对应的ID边界码(1,ID边界码:如果数据库记录ID记录序列如下1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16假设需要按照ID顺序排序的话,PageSize=5,Pagecount=4

2、,PageId(4)数组PageId的值分别为PageId(0)=1,PageId(1)=5,PageId(2)=10,PageId(3)=15,PageId(4)=16当访问第i页的时候就直接找[PageId(i-1),PageId(i))之间的记录,这样可以保证每次取的记录都只是PageSize条记录。假设需要按照ID倒序排列的话,数组PageId的值分别为PageId(0)=16,PageId(1)=12,PageId(2)=7,PageId(3)=2,PageId(4)=1,当访问第i页的时候就直接查找ID属于[PageId(i-1),PageI

3、d(i)))将数组PageId()保存在Application()中,以便访问,这样,只是第一次访问分页程序的时候便初始化Application()。代码部分如下:(下面称为新程序)<%Time1=Timer()DimConnSetConn=Server.CreateObject("Adodb.Connection")Conn.open"Driver={MicroSoftAccessDriver(*.mdb)};Dbq="Server.MapPath("db.mdb")DimPage,PageCounts,PageId,PageListDimRs,

4、SqlDimIsInit,iIsInit=False''标志为,用来判断Application("PageId")是否初始化PageList=20''设置每页显示20条数据SetRs=Server.CreateObject("Adodb.Recordset")Page=Request.QueryString("Page")''注意页码需要检查类型IfIsEmpty(Application("PageId"))Then''如果Application("PageId")还未初始化,则先进行初始化Response.ove(PageList)NextRs.Mov

5、eLastPageId(PageCounts)=Rs("ID")Application.Lock()Application("PageId")=PageIdApplication.UnLock()EndIfRs.CloseEndIfIdStart=Clng(Application("PageId")(Page-1))IdEnd=Clng(Application("PageId")(Page))Sql="Select*fromtestp;IdStart"andid>"IdEnd""Rs.openSql,Conn,1,1oveNexticroSoftA

6、ccessDriver(*.mdb)};Dbq="Server.MapPath("db.mdb")DimPage,PageCounts,PageListDimRs,SqlPageList=20Page=Request.QueryString("Page")SetRs=Server.CreateObjec12下一页>>>>这篇文章来自..,。t("Adodb.Recordset")Sql="Select*fromtestorderbyiddesc"Rs.OpenSql,Conn,1,1IfPage=""ThenPage=1IfNot(Rs.eofOrRs.

7、Bof)ThenRs.PageSize=PageListPageCounts=Rs.PageCountRs.AbsolutePage=PageEndIfFori=1toPageListIfRs.eofThenExitForResponse.oveNextnextFori=1ToPageCountsResponse.p;i" ")NextTime2=Timer()Response.p;(Time2-Time1)*1000)%>其实,总体的思想就是,建立一个Application("PageId")全局数组,每个元素都保存页面所区记录的ID区间,比如,

8、Application("PageId")(0)保存第一个元素的ID,然后App

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。