ASP Recordset 分页显示数据的方法(修正版)
程序员文章站
2022-10-27 18:59:09
1.建立recordset对象 复制代码 代码如下: dim objmyrst set objmyrst=server.createobject(“adodb.record...
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
%>