>>
>
> On Tue, 7 Jun 2005, Sathyajith G wrote:
>
> > i have the following code running without any errors with postgres
> 7.4.2.
> > driver.
> >
> > String qry="select ...;
> >
> > try{
> > ResultSet rs=Data.getResultSet(qry);
> > while(rs.next())
> >
> > I changed the driver to postgres 8.0.1. Strangely now, the above code
> gives
> > the exception "The resultset is closed". Please help.
> >
>
> I suspect your Data.getResultSet() method looks something like this:
>
>
> Statement stmt = conn.createStatement();
> ResultSet rs = stmt.executeQuery(sql);
> stmt.close();
> return rs;
>
> This is not a legal thing to do, closing the Statement also closes the
> ResultSet that was created by it. The 7.4 driver did not correctly check
> this, but the 8.0 version does. You most postpone the Statement close
> until you are done with the ResultSet.
>
> Kris Jurka
>
-------------------------------------------------------------------
i am not closing the statement anywhere. this is how Data.getResultSet()
looks like:
public static ResultSet getResultSet(String sql)
{
ResultSet rs;
try{
rs=stmt.executeQuery(sql);
}catch(Exception e)
{System.err.println("error");
rs=null;
}
return rs;
}
Sathyajith Gopi