Thread: JDBC2 driver failure
Hello, I have some code that does the following: ResultSet rs = stmt.executeQuery("myQuery"); while (rs.next()) { //some processing String query = "blahblah"; ResultSet rs2 = stmt.executeQuery(query); } All the processing up to rs2 works fine, but the instant I try to get the result set, I get the following errors in my catalina.out log file on Tomcat4: java.lang.NullPointerException at org.postgresql.jdbc2.ResultSet.next(ResultSet.java:113) at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java) Any ideas? This is part of an in-house app I'm building and seems to be the last stumbling block. Thanks a lot, Haig Ehramdjian
Haig, You need to use a different Statement object for the second query. According to the jdbc spec you can have only one result set open at a time for a given statement. So when in the code you create rs2 from stmt you are causing rs to automatically be closed. Then when the next iteration of the look is executed rs.next() will fail. --Barry Haig Ehramdjian wrote: > Hello, > > I have some code that does the following: > > ResultSet rs = stmt.executeQuery("myQuery"); > > while (rs.next()) { > //some processing > String query = "blahblah"; > ResultSet rs2 = stmt.executeQuery(query); > } > > All the processing up to rs2 works fine, but the instant I try to get the > result set, > I get the following errors in my catalina.out log file on Tomcat4: > > java.lang.NullPointerException > at org.postgresql.jdbc2.ResultSet.next(ResultSet.java:113) > at > org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java) > > Any ideas? This is part of an in-house app I'm building and seems to be the > last stumbling block. > > Thanks a lot, > Haig Ehramdjian > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster >
use a different statement object for the nested resultset. ie. ResultSet rs = null; ResultSet rs2 = null; Statement stmt = con.createStatement(); Statement stmt2 = con.createStatement(); rs = stmt.executeQuery("myQuery"); while (rs.next()) { //some processing String query = "blahblah"; rs2 = stmt2.executeQuery(query); } -----Original Message----- From: Haig Ehramdjian [mailto:haige@cae.com] Sent: Wednesday, March 26, 2003 1:58 AM To: Mailing List: PGSQL (E-mail) Subject: [JDBC] JDBC2 driver failure Hello, I have some code that does the following: ResultSet rs = stmt.executeQuery("myQuery"); while (rs.next()) { //some processing String query = "blahblah"; ResultSet rs2 = stmt.executeQuery(query); } All the processing up to rs2 works fine, but the instant I try to get the result set, I get the following errors in my catalina.out log file on Tomcat4: java.lang.NullPointerException at org.postgresql.jdbc2.ResultSet.next(ResultSet.java:113) at org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java) Any ideas? This is part of an in-house app I'm building and seems to be the last stumbling block. Thanks a lot, Haig Ehramdjian ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster
Thanks Barry, I implemented a 2nd Statement and it works like a charm. Haig Ehramdjian -----Original Message----- From: Barry Lind [mailto:blind@xythos.com] Sent: Thursday, March 27, 2003 12:00 AM To: Haig Ehramdjian Cc: Mailing List: PGSQL (E-mail) Subject: Re: [JDBC] JDBC2 driver failure Haig, You need to use a different Statement object for the second query. According to the jdbc spec you can have only one result set open at a time for a given statement. So when in the code you create rs2 from stmt you are causing rs to automatically be closed. Then when the next iteration of the look is executed rs.next() will fail. --Barry Haig Ehramdjian wrote: > Hello, > > I have some code that does the following: > > ResultSet rs = stmt.executeQuery("myQuery"); > > while (rs.next()) { > //some processing > String query = "blahblah"; > ResultSet rs2 = stmt.executeQuery(query); > } > > All the processing up to rs2 works fine, but the instant I try to get the > result set, > I get the following errors in my catalina.out log file on Tomcat4: > > java.lang.NullPointerException > at org.postgresql.jdbc2.ResultSet.next(ResultSet.java:113) > at > org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java) > > Any ideas? This is part of an in-house app I'm building and seems to be the > last stumbling block. > > Thanks a lot, > Haig Ehramdjian > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster >