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

清风语士

清风语士

2016-01-29 17:37

利用ASP实现对表的分页浏览(下),利用ASP实现对表的分页浏览(下)
  一.关于参数传递。假如表中有46条记录,然后我们在地址栏中敲入http.//localhost/display.asp?line=10&page=2(假设这是正确的路径)肯定浏览器将给我们显示第二页的十条记录。但是如果在地址栏中只敲入http.//localhost/display.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
%>  

   至此,一个比较“完美”的程序完成了。各位大虾有何高见?欢迎来信与我探讨。webflier@263.net  
展开更多 50%)
分享

猜你喜欢

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

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

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

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

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

js实现ASP分页函数 HTML分页函数

Web开发
js实现ASP分页函数 HTML分页函数

asp 用存储过程实现数据分页

ASP
asp 用存储过程实现数据分页

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

仅用xsl和asp实现分页功能

ASP
仅用xsl和asp实现分页功能

CSS实现强制浏览器分页的实现方法

Web开发
CSS实现强制浏览器分页的实现方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Photoshop教程:CS5第一印象之内容识别与操控变形

Photoshop教程:CS5第一印象之内容识别与操控变形

安装Windows XP SP2三大要领和八项注意

安装Windows XP SP2三大要领和八项注意
下拉加载更多内容 ↓