From: Peter T Mount <peter@retep.org.uk>
To: Michael Stephenson <mstephenson@tirin.openworld.co.uk>
Cc: pgsql-interfaces@postgresql.org
Subject: Re: Number of rows in a ResultSet ?
Date: Thu, 18 Jan 2001 10:23:07 -0500 (EST)
Message-ID: <979831387.3a670a5b6ed23@webmail.retep.org.uk> (raw)
In-Reply-To: <Pine.LNX.4.30.0101181434130.2688-100000@tirin.openworld.co.uk>
References: <Pine.LNX.4.30.0101181434130.2688-100000@tirin.openworld.co.uk>
Quoting Michael Stephenson <mstephenson@tirin.openworld.co.uk>:
> > I need to know how many rows exist in a ResultSet. I've tried to use
> > getFetchSize() method of ResultSet interface, but a message was
> > displayed "this method is not yet implemented".
> >
> > Anyone can help me ?
>
> You could use:
> ResultSet.last();
> int numberOfRows = ResultSet.getRow();
>
> Now, my understanding of this area is a but sketchy, but I think that
> most implementations of ResultSet do not get all of the results in one
> go
> (like the PostgreSQL JDBC driver does), so getFetchSize() is not a safe
> way of determining the number of results returned.
Until about 30 minutes ago getFetchSize() threw an SQLException as it wasn't
implemented ;-)
For normal ResultSet's in 7.1 getFetchSize() will return the number of rows,
but I'd advise you use Michael's suggestion as it's probably the safest bet for
TYPE_SCROLL_INSENSITIVE & TYPE_SCROLL_SENSITIVE ResultSets (remember
technically TYPE_FORWARD_ONLY ResultSet's should not allow you to go back after
the .last() call).
Peter
>
> Or, you could do another query with count() in your sql..
>
> Or (and I wouldn't do this without carefully looking at the jdbc spec),
> you could just alter the getFetchSize() method
> org.postgresql.jdbc2.ResultSet driver to look like:
>
> public int getFetchSize() throws SQLException
> {
> return rows.size();
> }
>
> The choice is yours..
>
> Michael Stephenson mstephenson@openworld.co.uk
> Developer - Web Applications - Open World
> Tel: +44 1225 444 950 Fax: +44 1225 336 738
>
>
--
Peter Mount peter@retep.org.uk
PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/
RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: peter@retep.org.uk, mstephenson@tirin.openworld.co.uk
Subject: Re: Number of rows in a ResultSet ?
In-Reply-To: <979831387.3a670a5b6ed23@webmail.retep.org.uk>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox