Re: Limiting Large Result Sets



CachedRowSet and derived rowset models allow you to chunk large result
sets by populating a CachedRowSet object (or a WebRowSet) with 10 rows
at a time and starting row#11 of the result set.

Here is a code snipet excerpted fom my book.

OracleCachedRowSet ocrs = new OracleCachedRowSet();
ocrs.setPageSize(10); // chunk size
ocrs.populate(rset, 11); // populate cached row set, 10 rows at a time
// starting with row # 11

// Here you can consume the cached rowset

As promised, i have posted an introductory entry on my blog (more
details and code samples in my book)

Kuassi - blog http://db360.blogspot.com/

smartnhandsome@xxxxxxxxx wrote:
Thanks for every ones replies the 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??

.