世界各国民族服饰:ASP调用SQL SERVER数据表,怎么实现分页

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 21:41:19
请问如何分页。我用RECORDSET对象没法分页是怎么会事?
告诉我一个最简单实用的办法

asp万用分页类

<% sql = "select……………………省略了sql语句
Set rs=Server.Createobject("ADODB.RECORDSET")
rs.Open sql, conn, 1, 1
if not rs.eof then
pages = 30 ’定义每页显示的记录数
rs.pageSize = pages ’定义每页显示的记录数
allPages = rs.pageCount’计算一共能分多少页
page = Request.QueryString("page")’通过浏览器传递的页数
’if语句属于基本的排错处理
if isEmpty(page) or Cint(page) < 1 then
page = 1
elseif Cint(page) > allPages then
page = allPages
end if
rs.AbsolutePage = page
Do while not rs.eof and pages > 0 %>
这里输出你要的内容………………
<% pages = pages - 1
rs.MoveNext
Loop
else
Response.Write("数据库暂无内容!")
End if
rs.Close
Set rs = Nothing %>

把上面这个分页函数代码COPY存成一个ASP文件,在需要使用的页面里用include来引入他调用的时候只要 Call("/你调用的文件名?")就ok了,比如我的 news页面里要调用那么就是<%Call("/news.asp?")%>
刚才我们所到这是有限制的意思就是说第一段代码里除了sql查询内容和输出内容可以更改,其他的声明记录集的对象,page, pages, allpages这些变量都不能更改,否则将无法运行~其实这个程序是无关紧要的,最主要的就是,这个分页函数可以在任何一个asp叶面里调用。

ASP中用ACCESS数据库分页和SQL SERVER数据库分页没有什么区别,关键是调用数据库的方法不同而已(SQL语句有区别),至于分页程序在打开记录集后执行的问题,你可以用分页的几个属性,例如:
PageSize--每一页所含记录数;
PageCount--当前记录的总页数;
AboslutePage--当前记录位置的绝对页数;
RecordCount--当前记录集的总数;
AbsolutePosition当前记录所在的绝对位置;
BOF--指针是否在记录集的头处;
EOF--指针是否在记录集的尾处;
BookMark--设置和得到当前记录的唯一位置