dotConnect for Oracle Documentation
Devart.Data.Oracle Namespace / OracleCommand Class / ExecutePageReader Method
One of the System.Data.CommandBehavior values.
Specifies the number of starting record of the set of records to be returned.
Specifies total number of records to retrieve.

In This Topic
    ExecutePageReader Method (OracleCommand)
    In This Topic
    Returns a specific subset of rows when paging through the results of a query.
    Returns a specific subset of rows when paging through the results of a query.
    Public Shadows Function ExecutePageReader( _
       ByVal behavior As CommandBehavior, _
       ByVal startRecord As Integer, _
       ByVal maxRecords As Integer _
    ) As OracleDataReader
    public new OracleDataReader ExecutePageReader( 
       CommandBehavior behavior,
       int startRecord,
       int maxRecords


    One of the System.Data.CommandBehavior values.
    Specifies the number of starting record of the set of records to be returned.
    Specifies total number of records to retrieve.

    Return Value

    A OracleDataReader object with requested records.

    Use method ExecutePageReader when you want to retrieve not the whole dataset but some part of it that begins with given row number and has certain quantity of rows. This is especially useful when working with large amounts of data.

    If you want to retrieve all data in a dataset, use ExecuteReader() instead.

    Note: This method is not supported in .NET Standard 1.3 compatible assembly. It is available only in the assembly for full .NET Framework and .NET Standard 2.0 compatible assembly.

    ExecutePageReader method puts on following restrictions on the executable statement:

    - you cannot execute stored procedures and PL/SQL blocks;

    - you may specify only SQL statement that can be placed into the subquery.

    To use ExecutePageReader method it is recommended to optimize a query for retrieving a first row, otherwise using this method is ineffective.

    The example below shows how to retrieve a part of a table. If this function is called with parameters startRecord=2 and maxRecords=3, it returns 3 rows: second, third, and fourth.
    public void ExecutePaged(OracleConnection myConnection, int StartRow, int PageLength)
      OracleCommand myCommand = new OracleCommand("SELECT * FROM Test.Dept", myConnection);
      OracleDataReader myReader = myCommand.ExecutePageReader(System.Data.CommandBehavior.Default,StartRow,PageLength);
        while (myReader.Read())
          Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1) + ", " + myReader.GetString(2));
    Public Sub ExecutePaged(ByVal myConnection As OracleConnection, ByVal StartRow As Integer, ByVal PageLength As Integer)
      Dim myCommand As New OracleCommand("SELECT * FROM Test.Dept", myConnection)
      Dim myReader As OracleDataReader = myCommand.ExecutePageReader(System.Data.CommandBehavior.Default, StartRow, PageLength)
        While myReader.Read()
          Console.WriteLine(myReader.GetInt32(0).ToString() + ", " _
          + myReader.GetString(1) + ", " _
          + myReader.GetString(2))
        End While
      End Try
    End Sub

    Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also