您的位置:首页网页设计ASP实例 → 利用ASP实现对表的分页浏览(上)

利用ASP实现对表的分页浏览(上)

时间:2004/11/7 2:59:00来源:本站整理作者:蓝点我要评论(0)

大家都知道,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,下面我们一起来使它更“完美”一些。


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码