You are currently offline, waiting for your internet to reconnect

How To Page Through a Recordset from ASP

This article was previously published under Q202125
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
SUMMARY
This article describes how to use the PageSize, PageCount, and AbsolutePage properties of an ADO recordset and what cursor types must be used to get Recordset Paging to work.
MORE INFORMATION
This sample code demonstrates using Recordset Paging against the Adventure Works Access database.

The code Assumes the system DSN named AdvWorks is pointing to the Adventure Works Access 97 database.
<%@ EnableSessionState=False Language=VBScript %><%set conn = Server.CreateObject("ADODB.Connection")conn.Open "DSN=AdvWorks"set rs = Server.CreateObject("ADODB.Recordset")rs.CursorLocation = 3  ' adUseClientrs.Open "Select * from Employees", connrs.PageSize = 2intPageCount = rs.PageCountSelect Case Request("Action")	case "<<"		intpage = 1	case "<"		intpage = Request("intpage")-1		if intpage < 1 then intpage = 1	case ">"		intpage = Request("intpage")+1		if intpage > intPageCount then intpage = IntPageCount	Case ">>"		intpage = intPageCount	case else		intpage = 1end select%><HTML><HEAD><META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"><TITLE>ASP & ADO Paging</TITLE></HEAD><BODY bgColor=White text=Black><%rs.AbsolutePage = intPage For intRecord = 1 To rs.PageSize 	Response.Write "Record	number: " & intRecord & " " 	Response.Write rs.Fields("FirstName") & " " 	Response.Write rs.Fields("LastName") & "<br>" 	rs.MoveNextIf rs.EOF Then Exit For Nextrs.Closeset rs = Nothingconn.Closeset conn = nothing%><form name="MovePage" action="default.asp" method="post"><input type="hidden" name="intpage" value="<%=intpage%>"><input type="submit" name="action" value="<<"><input type="submit" name="action" value="<"><input type="submit" name="action" value=">"><input type="submit" name="action" value=">>">Page: <%=Intpage & " of " & intpagecount%></form></BODY></HTML>				

When using Recordset Paging against SQL Server, you can use a server side cursor. However, you must use either a Static or a Keyset cursor type. Otherwise, no data will be returned. If you use a client side cursor, all cursor types will work, but only a static cursor is returned.

When using Recordset Paging against Microsoft Access, you must use a client side cursor. Any cursor type will work, but again only a static cursor is returned. A server side cursor will not return any data.

When using Recordset Paging against Oracle, you can use a server side cursor, but if you do, you must use a Static or Keyset cursor type. Otherwise, no data will be returned. If you use a client side cursor, all cursor types will work, but only a keyset cursor is returned.

Properties

Article ID: 202125 - Last Review: 07/15/2004 20:03:20 - Revision: 1.4

Microsoft ActiveX Data Objects 2.0, Microsoft ActiveX Data Objects 2.1 Service Pack 2, Microsoft ActiveX Data Objects 2.5, Microsoft ActiveX Data Objects 2.6, Microsoft ActiveX Data Objects 2.7, Microsoft Active Server Pages 4.0

  • kbcodesnippet kbdatabase kbhowto kbmdacnosweep KB202125
Feedback
html>.com/ms.js"> ttps://c1.microsoft.com/c.gif?DI=4050&did=1&t=">html>king = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write(" var Route = "76500"; var Ctrl = ""; document.write("