AbsolutePage, PageCount, and PageSize Properties Example (JScript)

Microsoft ActiveX Data Objects (ADO)

ADO 2.5 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';Integrated Security='SSPI';";
    var rsEmployee = Server.CreateObject("ADODB.Recordset");
    // display variables
    var strMessage, iRecord, iPageCount;
    
    try
    {
        // 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>");
    }
    catch (e)
    {
        Response.Write(e.message);
    }
    finally
    {
        // 'clean up
        if (rsEmployee.State == adStateOpen)
            rsEmployee.Close;
        if (Cnxn.State == adStateOpen)
            Cnxn.Close;
        rsEmployee = null;
        Cnxn = null;
    }
%>

</body>

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

See Also

AbsolutePage Property | PageCount Property | PageSize Property | Recordset Object

© 1998-2003 Microsoft Corporation. All rights reserved.