have you tried getting the row count from the db instead of looping
yourself?

this approach will offload a few resources (counting) back to the db
(assuming its tiered) where it belongs(IMHO)

//assuming your db supports count() [duh]
//if you build your sql in chunks
String sqlSelect = "Select Col1, Col2 "
String sqlFrom   = "From myTable "
String sqlWhere  = "Where Col3 = 'SomeVal'";

//typically a helper function
//execute the sql on your connection
Resultset rs = getMyResults("Select count(*) as ct " + sqlFrom + sqlWhere);
size = rs.getLong("ct")
//proceed as you did before, but this time you have the row count.

Hope this helps.

James Mitchell

> -----Original Message-----
> From: Manuel Rodriguez Diaz [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, May 28, 2002 12:56 PM
> To: [EMAIL PROTECTED]
> Subject: ResultSet
>
>
>
> Hi all,
> I'm working with java 1.1. (this is a mandatory requirement).
> In this version of Java, resultset are "FORWARD ONLY".
> The fact is that i need to count the rows contained in a resultset
> before displaying its data and the  way i've thought to do this is read
> all the resultset.
> rows= 0;
> while( rs.next()) {
>     rows++;
> }
>
> With my actual version of java, I would need to re-execute the query
> again to get the pointer "beforeFirsted".
> Is there any way to obtain a independent copy of a ResultSet without
> executing the query again?
>
> Thankyou
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to