ASP分页效果如何优化
发布时间:2023-12-25 12:30:26 所属栏目:Asp教程 来源:DaWei
导读: 学习ASP时,必不可少的就是用到增、删、改、查四大操作。最麻烦的就是把数据库里的数据输出到客户端。数据很少的时候,比如一个数据库中就有几条,这样直接输出就可以了。但如果数据很多的时
学习ASP时,必不可少的就是用到增、删、改、查四大操作。最麻烦的就是把数据库里的数据输出到客户端。数据很少的时候,比如一个数据库中就有几条,这样直接输出就可以了。但如果数据很多的时候,只靠SQL的优化就不能完成查询了。 那么,怎样才能优化查询结果呢?也许我们会想到分页,对,ASP内置组件给我们提供了RecordSet 对象,我们可以利用这个对象的几个属性,就能很方便地得到自己想要的结果了。 <!--#include file="conn.asp" --> '把数据库连接字符串包含过来 rs.pagesize=10 '设置每页显示10条记录 page=cint(request("page")) '使用queryscring获取当前前数 if page<1 then page=1 '当页数小于1时显示第一页 if page>rs.pagecount then page=rs.pagecount '当页数大于最后一页时显示最后一页 myself=request.serververiables("path_info") '获取当前页的相对路径 if page>1 then rs.absolutepage=page '如果页数大于1则显示绝对页数 '循环输出页数 for i=1 to rs.pagecount if rs.eof then exit for '记录在最后一条的后面退出循环 if i=page then response.write " | "&i&" | " else response.write " | <a href="&myself&"/page="&i&">"&i&"</a> | " end if end for '循环输出记录条数 for i=1 to rs.pagesize if rs.eof then exit for response.write rs("id") response.write rs("user") response.write rs("pwd") rs.movenext end for '关闭数据库以及连接 rs.close conn.close set conn=nothing set rs=nothing 但是,这样并不能达到最佳优化。如果我们在page后面这样输入:page=adsf 。我们就会看到出错结果,因为cint函数不能把字符串转换为整数。有时你会看到没有错误,那是因为你在数据库连接时写了这样的语句:on error resume next 。意思就是当程序出错时不影响其他语句继续执行。如果我们把这段代码给删了,就会错误。所以,我们就考虑,怎样才能不错误呢?我们可以把这样的语句: page=cint(request("page")) 这样写: page=strim(request("page")) if IsNumeric(page) then page=cint(page) else page=1 end if 这样,当我们输入数字时,不管是小数还是其他的数,它都会转换为整数,当我们输入的是非数字时,page就等于1,这样就保证了程序不会出错了! (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐