利用ASP实现对表的分页浏览(下)
<%
if request("page")<>"" then
page=cint(request("page"))
else
page=1 ‘’-------如果参数page为空,就给它赋值1
end if
if request("line")<>"" then
line=cint(request("line"))
else
line=10 ‘’-------如果参数line为空,就给它赋值10
end if
%>
二.参数的合理性问题。如果我们在地址栏中敲入http.//localhost/display.asp?line=20&page=4会出现什么情况呢?浏览器报错。因为表中只有46条记录,而我们要它以每页显示二十条,第四页的二十条记录,也就是第六十一条到第八十条记录。显然会出错。同样情况还会出现在导航条中,如果当前浏览器中显示的是以每页十条,第四页的内容,我们去设定它以每页二十条显示,同样也会出错。解决方法还是一样的,先判断一下参数的合理性,然后再设置显示方式。将“按用户要求设定好显示方式”部分用以下代码代替。
<%
if page>(rs.RecordCount-1)\line+1 then
‘’-------通过计算可知,最大页数=(总记录数-1)\每页行数+1
response.write("error!") ‘’-------如果参数不合实际,输出"error!"
response.end ‘’-------终止程序
end if
rs.PageSize=line
rs.AbsolutePage=page
%>
三.验证表单域。导航条中的两个输入文本框输入的都必须是整数,否则也会出错。我们可以利用FrontPage的验证表单域功能开完成,这里就不多说了。
四.优化。到目前为止,这个程序还有一个缺点。在数据库的存取过程中,最花时间的要数是数据库的打开和Recordset对象的建立,而这个程序每次执行都会打开数据库及建立Recordset对象,极大的降低了效率,一旦访问量增大,这个程序也就是去了价值。解决的办法是:第一次执行程序时,打开数据库及建立Recordset对象,并将这些存在session中,下次执行时直接将session中的值返回就行了。用以下代码代替“打开数据库及表”部分。
<%
if not isobject(session("conn")) then
set conn=server.createobject("ADODB.Connection")
filepath=server.mappath("abc.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & filepath
set rs=server.createobject("ADODB.Recordset")
rs.open "main",conn,3,2
set session("conn")=conn
set session("rs")=rs
else
set conn=session("conn")
set rs=session("rs")
end if
%>
至此,一个比较“完美”的程序完成了。
- · VS2005 Beta2 体验:使用主题(Themes)
- · vml 实现饼图的代码
- · VS2005 Beta2 体验:使用Master Page
- · IIS 错误代码大汇总
- · VS2005 Beta2 体验
- · ASP小偷(远程数据获取)程序的入门教程
- · 浅谈ASP中Web页面间的数据传递
- · 一个采集入库生成本地文件的几个FUCTION
- · 基于ASP的编程常见问题
- · 微软建议的ASP性能优化28条守则
- · 在页面中控制媒体流的起播点和播放长度
- · .NET中实现无客户端联动菜单 (无刷新)
- · 模似windows XP 左侧的菜单效果
- · 表同步更新的问题的触发器
- · 浅谈自动采集程序及入库
- · 小处见大问题
- · ASP.NET 2.0: 在使用web.sitemap时,如何实现本地化
- · ASP模仿asp.net的DataGrid
- · 简单的表单验证类 ASP Validator
- · 遍历XML文档返回二维数组(ASP)(更新版)
- · ASP 函数语法速查表
- · 遍历XML文档的所有节点及属性(ASP)
- · Relaxlife.net最强计数器-利用操作INI文件来控制流量,也可用做系统设置
- · WEB文件管理器2.0版
- · RegularExpressionValidator正则表达式验证电子邮件
- · 关于教师评价系统的WEB程序(三)
- · 关于教师评价系统的WEB程序(二)
- · RSS应用现状以及我的一些想法
- · 二级下拉列表的实现
- · 《ASP入门-微软版》笔记
- · 《ASP网页制作教程》笔记
- · jscript错误代码及相应解释
- · ASP中数据库安全问题之我见!
- · 漫话验证码缘起,程序原理及其他
- · asp写的日志处理方法
- · 时间、空间性能极优的asp无组件上传类
- · html marquee 标记
- · C#对XML操作:一个处理XML文件的类(2)
