当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP Recordset 分页显示数据的方法(修正版)

ASP
Access 2000 数据库 80 万记录通用快速分页类
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
收藏的ASP常用的函数集
asp分页的一个类
ASP开发网页牢记注意事项
ASP下操作Excel技术总结分析
ASP数据岛操作类
ASP经典分页类
asp论坛在线人数统计研究
ASP调用SQL SERVER存储程序
asp输出bmp
ASP连接数据库的全能代码
ASP面向对象编程探讨及比较
web文件管理器的后续开发
一小偷类!!有兴趣的可以看看
利用ASP实现事务处理的方法
大数量查询分页显示 微软的解决办法
如何把ASP编写成DLL
asp实现树型结构
超级ASP大分页_我的类容我做主

ASP Recordset 分页显示数据的方法(修正版)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 172 ::
收藏到网摘: n/a

最近给别人培训asp 分页,对于asp的入门新手来说,最简单的分页就是用Recordset 分页技术了,他主要用于一些少量数据的分页,对于新手学习是最好的了,对于大量数据分页不建议用。

1.建立Recordset对象

复制代码 代码如下:

Dim objMyRst
Set objMyRst=Server.CreateObject(“ADODB.Recordset”)
objMyRst.CursorLocation=adUseClientBatch ‘客户端可批量处理
objMyRst.CursorType=adOpenStatic'光标类型为静态类型

注意:Recordset对象不能用Set objMyRst=Connection.Excute strSQL的语句建立,因为其建立的Recordset对象为adOpenFowardOnly不支持记录集分页
2.打开Recordset对象
复制代码 代码如下:

Dim strSql
strSql=”select * from ietable”
objMyRst.Oepn strSql,ActiveConnection,,,adCmdText

3.设置Recordset的PageSize属性
复制代码 代码如下:

objMyRst.PageSize=20

默认的PageSize为10
4.设置Recordset的AbsolutePage属性
以下为引用的内容:
复制代码 代码如下:

Dim intCurrentPage
intCurrentPage=1
objMyRst.AbsolutePage=intCurrentPage

AbsolutePage为1到Recordset对象的PageCount值
5.显示数据
复制代码 代码如下:

Response.Write("<table>")
PrintFieldName(objMyRst)
For i=1 To objMyRst.PageSize
PrintFieldValue(objMyRst)
objMyRst.MoveNext
If objMyRst.Eof Then Exit For
Next
Response.Write("</table>")

说明:
1. adOpenStatic,adUseCilentBatch,adCmdText为adovbs.inc定义的常量,要使用的话要把adovbs.inc拷到当前目录中并包含于在程序中
复制代码 代码如下:

<!--#Include File=”adovbs.inc”-->

2. PrintFielName,PrintFieldValue函数的代码如下:
复制代码 代码如下:

<%
Function PrintFieldName(objMyRst)
'参数objMyRst是Recordset对象
'定义娈数
Dim objFld
Response.Write "<tr bgcolor='#CCCCCC'>"
For Each objFld In objMyRst.Fields
Response.Write "<td>" & objFld.Name & "</td>"
Next
Response.Write("</tr>")
End Function
Function PrintFieldValue(objMyRst)
'参数objMyRst是Recordset对象
'定义娈数
Dim objFld
Response.Write("<tr >")
For Each objFld In objMyRst.Fields
'Response.Write "<td>" & objMyRst.Fields(intLoop).value & "</td>"
Response.Write "<td>" & objFld.value & "</td>"
Next
Response.Write("<tr>")
End Function
%>