Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Limiting Large Result Sets

Re: Limiting Large Result Sets

From: Ed Prochak <edprochak_at_gmail.com>
Date: 30 Aug 2006 11:50:24 -0700
Message-ID: <1156963824.339878.93480@p79g2000cwp.googlegroups.com>

smartnhandsome_at_gmail.com wrote:
> Thanks for every ones replies to make the question more clear this
> what i wanted from the code
> I have a method which can accept a SQL query as input parameter and
> number of results the user wants
>
> public RowSetDynaClass getResults(String sql,int resultNumber)
> {
> prepareStatment= conn.prepareStatement(sql.toString()),
> ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
> prepareStatment.setMaxRows(resultNumber);
> resultset = prepareStatment.executeQuery();
> rowsdc = new RowSetDynaClass(resultset);
>
> }
>
> So the user gets back a result for the first 10 rows, now the user
> again requests another set of 10 rows. This method is again called and
> here is the real problem starts he now wants to get results from 11-20.
> Simply put the question is how to maintain the state of the results
> with out modifying the query the user inputs??

You need to split your method into two methods (well three actually)

  1. this one prepares the statement and opens the cursor
  2. this one fetches the next set of 10 rows
  3. don't forget to close the cursor.

This is fundamental database query operations.   Ed Received on Wed Aug 30 2006 - 13:50:24 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US