|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
大家都知道,ASP有着强盛的数据库操作能力,这与她能方便的调用ActiveX对象是密不可分的。下面我给大家介绍一种ASP利用ADO对象实现对数据库记录分页显示的方式。以下代码均在WIN98+PWS+MSACCESS环境下通过。 在这里我主要通过ADO对象集中的Recordset对象来实现各种数据库操作的。先介绍几个用于分页显示的Recordset属性。 PageSize:每页显示的记录数。 PageCount:根据用户设好的PageSize和表中的总记录数,系统自动算出总页数。 RecordCount:表中的总记录数。 AbsolutePage:表示当前页码。如将AbsolutePage属性设为3,则当前记录移至第3页第1条(也就是第31条)。 看到Recordset有了这几个属性后,相信大家也都觉得做一个分页显示的程序是很简朴的。下面讲一下思路,所有实现这一功能的代码都放在display.asp中,按执行的顺序分别是:打开数据库及表、读取用户要求的显示方法、设定好PageSize和AbsolutePage、将内容输出到浏览器、设定好导航条。以下是代码: <%\\\'---------------------------打开数据库及表 set conn=server.createobject("ADODB.Connection") filepath=server.mappath("abc.mdb") \\\'-------假设数据库文件是"abc.mdb" conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & filepath set rs=server.createobject("ADODB.Recordset") rs.open "main",conn,3,2 \\\'-------假设表的名字是"main" %> <%\\\'---------------------------读取用户要求的显示方法(通过参数传递) line=cint(request("line")) page=cint(request("page")) %> <%\\\'---------------------------按用户要求设定好显示方法 rs.PageSize=line rs.AbsolutePage=page %> <%\\\'---------------------------显示内容%> <table width="100%" border="1"> <tr> <%for i=0 to rs.Fields.Count-1%> <td><%=rs.Fields(i).name%></td> <%next%> </tr><%\\\'-------以上部分显示表头,即字段名%> <%for i=1 to rs.PageSize%> <tr> <%for j=0 to rs.Fields.Count-1%> <td><%=rs.Fields(j).value%></td> <%next%> </tr> <%rs.movenext%> <%if rs.eof then exit for%> <%next%><%\\\'-------以上部分显示表的内容%> </table> <%\\\'---------------------------导航条%> <table width=100% ><tr> <td> <%if page<>1 then%> <a href=display.asp?page=1&line=<%=line%>>第一页</a> <%else%>第一页<%end if%> </td> <td> <%if page>1 then%> <a href=display.asp?page=<%=page-1%>&line=<%=line%>>前一页</a> <%else%>前一页<%end if%> </td> <td> <%if page<rs.PageCount then%> <a href=display.asp?page=<%=page+1%>&line=<%=line%>>下一页 <%else%>下一页<%end if%> </td> <td> <%if page<>rs.PageCount then%> <a href=display.asp?page=<%=rs.PageCount%>&line=<%=line%>>最后一页</a> <%else%>最后一页<%end if%> </td><%\\\'-------以上四项都需要进行判定:假如在第一页就不提供“第一页”和“前一页”的链接 \\\'-------假如在最后一页就不提供“最后一页”和“后一页”的链接%> <td> <form method="POST" action="display.asp?line=<%=line%>"> 请输入页码:<input type="text" name="page" size="3" value="<%=page%>"> </form> </td> <td> <form method="POST" action="display.asp?page=<%=page%>"> 请设定每页<input type="text" name="line" size="3" value="<%=line%>">行 </form> </td><%\\\'-------因为两个表单都只有一个表单域,所以没有提供发送按钮,直接打回车就行了%> <td> 第<%=page%>页/总<%=rs.PageCount%>页 </td> </tr></table> 这只是一个最基本的程序,没有进行优化处理,也还有一些bug,下面我们一起来使它更“完美”一些。 返回类别: 教程 上一教程: ASP程序错误具体说明例表 下一教程: 一段返回随机记录的代码 您可以阅读与"利用ASP实现对表的分页浏览(上)"相关的教程: · 利用ASP实现对表的分页浏览(下) · 利用ASP实现对表的分页浏览(上) · 利用ASP实现对表的分页浏览(下) · 利用ASP实现对表的分页浏览 · ASP实现对新闻的分页例子 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |