Re: java.lang.NullPointerException on imbricated queries

From: Michael Stephenson <mstephenson(at)openworld(dot)co(dot)uk>
To: Olivier BULLAT <Olivier(dot)Bullat(at)ifma(dot)fr>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: java.lang.NullPointerException on imbricated queries
Date: 2003-06-30 09:18:32
Message-ID: 3F000068.30601@openworld.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Olivier,

One statement can, by default, have only one result set, when you execute the
second query the first result set is closed.

You'll need to rewrite your code to something like:

Statement innerStmt = conn.createStatement();

Query1 = "SELECT * FROM example1;";
rs1 = stmt.executeQuery(Query1);
while (rs1.next()) {
Query2 = "SELECT * FROM example2;
rs2 = innerStmt.executeQuery(Query2);
while (rs2.next()) {
// Something .../...
}
}

The postgresql jdbc driver probably shouldn't npe in these cases,

Hope this helps,

Michael

Olivier BULLAT wrote:
> Hello,
>
> We have a web application in Apache, Posgresql 7.2, servlet java (JDK
> 1.2), Jserv and jdbc7.2dev-1.2.jar.
> A lot of programs runs normally with JDBC access to postgresql. But when
> we use two imbricated queries like this example, a message
> JAVALANGEXEPTION java.lang.NullPointerException occurs:
>
> 1 Query1 = "SELECT * FROM example1;";
> 2 rs1 = stmt.executeQuery(Query1);
> 3 while (rs1.next()) {
> 4 Query2 = "SELECT * FROM example2;
> 5 rs2 = stmt.executeQuery(Query2);
> 6 while (rs2.next()) {
> 7 // Something .../...
> 8 }
> 9 }
>
> Programme DetailsRapports.java: JAVALANGEXEPTION
> java.lang.NullPointerException:
> java.lang.NullPointerException:
> at org.postgresql.jdbc2.ResultSet.next(ResultSet.java:113)
> at DetailsRapports.AfficheEntrees(DetailsRapports.java:68)
> at DetailsRapports.service(DetailsRapports.java:43)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
> at
> org.apache.jserv.JServConnection.processRequest(JServConnection.java:317)
> at org.apache.jserv.JServConnection.run(JServConnection.java:188)
> at java.lang.Thread.run(Thread.java:479)
>
> This message occurs on line 3 "while (rs1.next()) {" after a first good
> Query1 and a first good Query2.
>
> Any help would be appreciated.
>
>
> --------------------------------------------------------------------------
> Olivier BULLAT
> Responsable du Centre de Ressources Informatiques
> Institut Francais de Mecanique Avancee - IFMA
> Campus de CLERMONT-FERRAND / Les Cezeaux
> BP 265
> 63175 AUBIERE Cedex
> Tel: 04.73.28.80.35
> Fax: 04.73.28.81.00
> mail: _Olivier(dot)Bullat(at)ifma(dot)fr
> http://www.ifma.fr <http://www.ifma.fr/>
> _--------------------------------------------------------------------------
>

--
Web Applications Developer
Open World Ltd, 11 Riverside Court, Riverside Road, Bath, BA2 3DZ.
Tel: +44 1225 444950 Fax: +44 1225 336738 http://www.openworld.co.uk/

CONFIDENTIALITY NOTICE
The information contained in this message is confidential, intended only for
the use of the individual or the entity named as recipient. If the reader of
this message is not that recipient, you are notified that any dissemination,
distribution or copy of this message is strictly prohibited. If you have
received this message in error, please immediately notify us by telephone on
the number above. Your co-operation is appreciated.

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Garrick Dasbach 2003-06-30 14:07:55 Re: java.lang.NullPointerException on imbricated queries
Previous Message Kallol Nandi 2003-06-30 09:06:54 Re: java.lang.NullPointerException on imbricated queries