ADO 2.7 Samples

AbsolutePage, PageCount, and PageSize Properties Example (JScript)

This example demonstrates the AbsolutePage, PageCount and PageSize properties. Cut and paste the following code to Notepad or another text editor, and save it as AbsolutePageJS.asp.

<!-- BeginAbsolutePageJS -->
<%@LANGUAGE="JScript" %>
<%// use this meta tag instead of adojavas.inc%>
<!--METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4" -->

<html>

<head>
<title>AbsolutePage, PageSize, and PageSize Properties (JScript)</title>
<style>
<!--
BODY {
   font-family: 'Verdana','Arial','Helvetica',sans-serif;
   BACKGROUND-COLOR:white;
   COLOR:black;
    }
.thead2 {
   background-color: #800000; 
   font-family: 'Verdana','Arial','Helvetica',sans-serif; 
   font-size: x-small;
   color: white;
   }
.tbody { 
   text-align: center;
   background-color: #f7efde;
   font-family: 'Verdana','Arial','Helvetica',sans-serif; 
   font-size: x-small;
    }
-->
</style>
</head>

<body bgcolor="White">
<h1>AbsolutePage, PageSize, and PageSize Properties (JScript)</h1>
<%
   // connection and recordset variables
   var Cnxn = Server.CreateObject("ADODB.Connection")
   var strCnxn = "Provider=sqloledb;Data Source=" + Request.ServerVariables("SERVER_NAME")+ ";" +
      "Initial Catalog=Northwind;User Id=sa;Password=;"
   var rsEmployee = Server.CreateObject("ADODB.Recordset");
   // display variables
   var strMessage, iRecord, iPageCount;
   
   // open connection
   Cnxn.Open(strCnxn);
   
   // Open a recordset on the Employee table using
   // a client-side cursor to enable AbsolutePage property.
   rsEmployee.CursorLocation = adUseClient;
   rsEmployee.Open("employees", strCnxn, adOpenStatic, adLockOptimistic, adCmdTable);
   
   // Set PageSize to five to display names and hire dates of five employees at a time
   rsEmployee.PageSize = 5; 
   iPageCount = rsEmployee.PageCount;
   
   // Write header information to the document
   Response.Write('<p align="center">There are ' + iPageCount);
   Response.Write(" pages, each containing ");
   Response.Write(rsEmployee.PageSize + " or fewer records.</p>");
   Response.Write('<table border="0" align="center">');
   Response.Write('<tr class="thead2">');
   Response.Write("<th>Page</th><th>Name</th><th>Hire Date</th></tr>");
   
   for (var i=1; i<=iPageCount; i++)
   {
      rsEmployee.AbsolutePage = i;
      
      for (iRecord = 1; iRecord <= rsEmployee.PageSize; iRecord++)
      {
         strMessage = "";
         
            // Start a new table row.
            strMessage = '<tr class="tbody">';
            
            // First column in row contains page number on
            // first record of each page. Otherwise, the column
            // contains a non-breaking space.
            if (iRecord == 1)
               strMessage += "<td>Page " + i + " of " + rsEmployee.PageCount + "</td>"
            else
               strMessage += "<td>&nbsp;</td>";
               
            // First and last name are in first column.
            strMessage += "<TD>" + rsEmployee.Fields("FirstName") + " ";
            strMessage += rsEmployee.Fields("LastName") + " " + "</td>";
            
            // Hire date in second column.
            strMessage += "<td>" + rsEmployee.Fields("HireDate") + "</td>";
            
            // End the row.
            strMessage += "</tr>";
         
            // Write line to document.
            Response.Write(strMessage);
            
            // Get next record.
            rsEmployee.MoveNext;
            
            if (rsEmployee.EOF)
               break;
      }
   }
   
   // Finish writing table.
   Response.Write("</table>");

   // 'clean up
   rsEmployee.Close;
%>

</body>

</html>
<!-- EndAbsolutePageJS -->

See Also

AbsolutePage Property | PageCount Property | PageSize Property | Recordset Object

© 1998-2001 Microsoft Corporation. All rights reserved.