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
  %>