You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by dg...@apache.org on 2004/02/01 01:16:35 UTC
cvs commit: jakarta-commons/dbutils/src/java/org/apache/commons/dbutils QueryRunner.java
dgraham 2004/01/31 16:16:35
Modified: dbutils/src/java/org/apache/commons/dbutils QueryRunner.java
Log:
Improved error handling in query() method. It was possible for the
Statement to not get closed if the ResultSet threw an SQLException
during its close. So, close Statement in finally block to ensure it gets
called.
Revision Changes Path
1.8 +10 -6 jakarta-commons/dbutils/src/java/org/apache/commons/dbutils/QueryRunner.java
Index: QueryRunner.java
===================================================================
RCS file: /home/cvs/jakarta-commons/dbutils/src/java/org/apache/commons/dbutils/QueryRunner.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- QueryRunner.java 11 Jan 2004 22:30:38 -0000 1.7
+++ QueryRunner.java 1 Feb 2004 00:16:35 -0000 1.8
@@ -208,8 +208,11 @@
this.rethrow(e, sql, params);
} finally {
- DbUtils.close(rs);
- DbUtils.close(stmt);
+ try {
+ DbUtils.close(rs);
+ } finally {
+ DbUtils.close(stmt);
+ }
}
return result;
@@ -430,7 +433,8 @@
/**
* Executes the given INSERT, UPDATE, or DELETE SQL statement. The
* <code>Connection</code> is retrieved from the <code>DataSource</code>
- * set in the constructor.
+ * set in the constructor. This <code>Connection</code> must be in
+ * auto-commit mode or the update will not be saved.
*
* @param sql The SQL statement to execute.
* @param params Initializes the PreparedStatement's IN (i.e. '?')
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org