|
If getStreet were null, that would mean that "rs=getStreet.executeQuery()" would have thrown a NullPointerException. Besides, the documentation doesn't say that "conn.prepareStatement" can return null. If it could return null, the documentation would say what that meant. However the usual way to manage JDBC objects is to close them in a finally block, like this: PreparedStatement getStreet = null; ResultSet rs = null; try { getStreet = conn.prepareStatement(...); rs = getStreet.executeQuery(); while (rs.next()) { ... } } catch(SQLException sqle) { ... report the exception somehow } finally { if (rs != null) { try { rs.close(); } catch(SQLException sqle) { } } if (getStreet != null) { try { getStreet.close(); } catch(SQLException sqle) { } } } In the finally block, which will always be called no matter whether an exception occurred or not, the variables can be null because an SQLException could have caused them to never be set. PC2 -----Original Message----- From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of RPower@xxxxxxxxxx Sent: June 30, 2005 09:32 To: Java Programming on and around the iSeries / AS400 Subject: Re: Help... record locks I got the code from one of the other developers here. I'm new to this, so I just assumed that it's checking to make sure the preparedstatement opened by checking if it was null and to only close it if it was opened. Here's the code: PreparedStatement getStreet = conn.prepareStatement("SELECT DISTINCT * FROM " + lib + dmd.getCatalogSeparator() + streetTable + " WHERE " + strSeq + " = 0" + " ORDER BY " + orderBy); rs = getStreet.executeQuery(); while (rs.next()) { ... } if (getStreet != null){ rs.close(); getStreet.close(); } So basically, if the prepared statement doesn't execute then I'm leaving open the resultset rs?
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.