New Posts New Posts RSS Feed: Paged RdbQueries
  FAQ FAQ  Forum Search   Calendar   Register Register  Login Login

Paged RdbQueries

 Post Reply Post Reply
Author
IdeaBlade View Drop Down
Moderator Group
Moderator Group
Avatar

Joined: 30-May-2007
Location: United States
Posts: 353
Post Options Post Options   Quote IdeaBlade Quote  Post ReplyReply Direct Link To This Post Topic: Paged RdbQueries
    Posted: 06-Jun-2007 at 12:30pm

Answer:

Here is sample code demonstrating how to execute a PagedRdbQuery, which is the ideal query to use for returning large result sets.

This example can also be found in the IdeaBlade DevForce Help Reference (may vary slightly):

 

    public void SamplePagedQuery() {

      PersistenceManager pm = PersistenceManager.DefaultManager;

 

      // Query orders in descending date sequence.

      RdbQuery aQuery = new RdbQuery(typeof(Order));

      aQuery.AddOrderBy(Order.OrderDateEntityColumn, ListSortDirection.Descending);

 

      // Build a paged query to retrieve 10 items at a time.

      PagedRdbQuery pagedQuery = new PagedRdbQuery(aQuery);

      pagedQuery.PageSize = 10;

 

      // Specify whether the last item of the page will be first item on next page.

      pagedQuery.PagesShouldOverlap = false;

 

      while (true) {

        EntityList<Order> orders = pm.GetEntities<Order>(pagedQuery);

        Console.WriteLine("Current page = " + pagedQuery.CurrentPage.ToString());

        Console.WriteLine("Order count for this page = " + orders.Count.ToString());

        foreach (Order anOrder in orders) {

          Console.WriteLine(" Order id = " + anOrder.Id.ToString() + ", date = " + anOrder.OrderDate);

        }

        if (pagedQuery.IsLastPage) break;

        // Advance the query.

        pagedQuery.NextPage();

      }

    }

The key points are:

  1. Construct a paged query from another ordered query.
  2. Set the PageSize – the number of items to retrieve at a time (default is 25).
  3. Specify page overlapping – whether the last item of the page will be the first item on next page (default is true).
  4. Use NextPage, PrevPage, and CurrentPage to specify the result page to be returned when next query is executed.
Back to Top
Customer View Drop Down
Senior Member
Senior Member
Avatar
User Submitted Questions to Support

Joined: 30-May-2007
Location: United States
Posts: 260
Post Options Post Options   Quote Customer Quote  Post ReplyReply Direct Link To This Post Posted: 06-Jun-2007 at 12:29pm

Question:

How can I use a paged RdbQuery for large result sets?

 



Edited by Customer - 06-Jun-2007 at 12:29pm
Back to Top
 Post Reply Post Reply

Forum Jump Forum Permissions View Drop Down