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

分页|分页

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

时间: 2024-12-21 12:25:48

利用ASP实现对表的分页浏览(上)的相关文章

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

分页|分页 一.关于参数传递.假如表中有46条记录,然后我们在地址栏中敲入http.//localhost/display.asp?line=10&page=2(假设这是正确的路径)肯定浏览器将给我们显示第二页的十条记录.但是如果在地址栏中只敲入http.//localhost/display.asp,浏览器却给我们一个出错信息.如何解决呢?我们必须在读取这些参数时加一个判断,如果参数是空的,就赋给它一个初值,以防出错.将"读取用户要求的显示方式"部分用以下代码代替:  <

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

大家都知道,ASP有着强大的数据库操作能力,这与她能方便的调用ActiveX对象是密不可分的.下面我给大家介绍一种ASP利用ADO对象实现对数据库记录分页显示的方法.以下代码均在WIN98+PWS+MSACCESS环境下通过. 在这里我主要通过ADO对象集中的Recordset对象来实现各种数据库操作的.先介绍几个用于分页显示的Recordset属性. PageSize:每页显示的记录数. PageCount:根据用户设好的PageSize和表中的总记录数,系统自动算出总页数. RecordCo

利用Asp.net MVC处理文件的上传下载

如果你仅仅只有Asp.net Web Forms背景转而学习Asp.net MVC的,我想你的第一个经历或许是那些曾经让你的编程变得愉悦无比的服务端控 件都驾鹤西去了.FileUpload就是其中一个,而这个控件的缺席给我们带来一些小问题.这篇文章主要说如何在Asp.net MVC中上传文件,然后 如何再从服务器中把上传过的文件下载下来. 在Web Forms中,当你把一个FileUpload控件拖到设计器中,你或许没有注意到在生成的HTML中会在form标签中加入一条额外属性 enctype=

用ASP技术实现在WEB网页上浏览目录及文件

web|网页 用ASP技术实现在WEB网页上浏览目录及文件 周仰平 摘要  目前在许多单位里,象WORD.EXCEL或WPS该类文档文件已成为重要的数据信息资源,在INTRANET WEB平台上如何高效率地管理这些信息资源是一个需要解决的问题.本文是利用ASP技术开发一个基于WEB的应用程序,实现在WEB页面上浏览目录文件,很轻易地做到诸如WORD.EXCEL和WPS等文档文件的查阅和下载,大大地减少信息维护的工作量. 关键词  ASP  WEB  文档文件   前言:在INTRANET平台上,

ASP:利用ASP把图片上传到数据库

ASP(Active Server Pages)是Microsoft很早就推出的一种WEB应用程序解决方案,也是绝大多数从事网站开发人员很熟悉的一个比较简单的编程环境.通过ASP我们可以创建功能强大的动态的WEB应用程序.ASP虽然功能很强大,但有些功能用纯ASP代码完成不了,为了能保证开发出功能更加强大的WEB应用程序,我们可以借助调用COM组件. 在日常工作中,例如开发一个"商品网上销售系统"吧,为了使顾客对商品的外观有所了解,也就是顾客在看商品的文字介绍的同时在文字的旁边有该商品

利用ASP技术实现文件直接上传功能

上传|上传 摘要: 本文首先比较了几种常见的文件上传技术,然后通过实例介绍了利用ASP技术直接实现文件上传的具体方法. 关键词:ASP:文件上传:二进制数据 引言 采用WEB技术实现B/S(浏览器/服务器)结构的管理系统是办公自动化的发展趋势.基于WEB技术的管理系统,由于开发周期短:与用户平台无关:易于实现交互式应用:能对信息进行快速.高效的收集.处理和发布,近几年来得到了迅速发展.而ASP技术由于其开发效率高.交互性好,安全性强等特点,逐渐成为开发管理系统的首选工具. 许多基于WEB的应用都

实例分析:利用ASP把图片上传到数据库

上传|数据|数据库 ASP(Active Server Pages)是Microsoft很早就推出的一种WEB应用程序解决方案,也是绝大多数从事网站开发人员很熟悉的一个比较简单的编程环境.通过ASP我们可以创建功能强大的动态的WEB应用程序.ASP虽然功能很强大,但有些功能用纯ASP代码完成不了,为了能保证开发出功能更加强大的WEB应用程序,我们可以借助调用COM组件. 在日常工作中,例如开发一个"商品网上销售系统"吧,为了使顾客对商品的外观有所了解,也就是顾客在看商品的文字介绍的同时

如何利用ASP把图片上传到数据库

上传|数据|数据库 ASP(Active Server Pages)是Microsoft很早就推出的一种WEB应用程序解决方案,也是绝大多数从事网站开发人员很熟悉的一个比较简单的编程环境.通过ASP我们可以创建功能强大的动态的WEB应用程序.ASP虽然功能很强大,但有些功能用纯ASP代码完成不了,为了能保证开发出功能更加强大的WEB应用程序,我们可以借助调用COM组件. 在日常工作中,例如开发一个"商品网上销售系统"吧,为了使顾客对商品的外观有所了解,也就是顾客在看商品的文字介绍的同时

利用ASP.NET设计FTP文件上传(上)

如果要用ASP来作一个FTP文件上传的页面,我想很多人立刻就会想到要用第三方开发的组件,利用第三方的组件,虽然开发起来相对比较容易.但一般来说,免费下载的第三方的组件都有某些方面的功能限制,若要购买正版的第三方组件,对于国内的用户,花销也是一个不小的数字,就是能够承担的起,烦杂的手续也使很多人望而却步.虽然微软公司在本身的视窗系统里面也提供了一个可以用来上传文件的组件--Posting Acceptor.但用过这个组件的朋友们都有一种普遍的感觉,就是实在不好用. 现在好了,自从微软公司推出了.N