Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #37105
| From | Cecil Westerhof <Cecil@decebal.nl> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Is this the way to work with try with resources |
| Date | 2017-08-09 08:30 +0200 |
| Organization | Decebal Computing |
| Message-ID | <87efsluuas.fsf@munus.decebal.nl> (permalink) |
| References | <87poc6wb9n.fsf@munus.decebal.nl> <87lgmtwels.fsf@munus.decebal.nl> |
Cecil Westerhof <Cecil@decebal.nl> writes:
> The solution is to have a statement pro result-set, but than this
> statement is only necessary for getting the result-set. So I rewrote
> statistics to:
> private static void statistics() {
> try (ResultSet rsTotal = executeQuery(COUNT_TOTAL_PROV);
> ResultSet rsUnused = executeQuery(COUNT_UNUSED_PROV);
> ResultSet rsUsed = executeQuery(COUNT_USED_PROV)) {
> int count;
> String format;
>
> count = rsTotal.getInt("no");
> format = String.format("There are %%,%dd %%-6s proverbs.%%n",
> String.format("%,d", count).length());
> System.out.printf(format, count, "total");
> count = rsUnused.getInt("no");
> if (count != 0) {
> System.out.printf(format, count, "unused");
> }
> count = rsUsed.getInt("no");
> System.out.printf(format, count, "used");
> } catch (SQLException e) {
> System.err.printf("Error in statistics\n");
> e.printStackTrace();
> fatalError("");
> }
> }
>
> And wrote the function executeQuery to make the code a little more
> compact:
> private static ResultSet executeQuery(String query) throws SQLException {
> return conn.createStatement().executeQuery(query);
> }
This is a very simple case: I only retrieve a count. So I rewrote it
to:
private static void statistics() {
try {
int count;
String format;
count = getCount(COUNT_TOTAL_PROV);
format = String.format("There are %%,%dd %%-6s proverbs.%%n",
String.format("%,d", count).length());
System.out.printf(format, count, "total");
count = getCount(COUNT_UNUSED_PROV);
if (count != 0) {
System.out.printf(format, count, "unused");
}
count = getCount(COUNT_USED_PROV);
System.out.printf(format, count, "used");
} catch (SQLException e) {
System.err.printf("Error in statistics%n");
e.printStackTrace();
fatalError("");
}
}
And I defined a function getCount:
private static int getCount(String query) throws SQLException {
int count;
try (ResultSet rsCount = executeQuery(query)) {
count = rsCount.getInt("count");
}
return count;
}
So in this case there are not multiple ResultSet and implicit
Statement.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-08 13:26 +0200
Re: Is this the way to work with try with resources Martin Gregorie <martin@address-in-sig.invalid> - 2017-08-08 12:51 +0000
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 07:10 +0200
Re: Is this the way to work with try with resources Patrick Roemer <sangamon@netcologne.de> - 2017-08-08 18:29 +0200
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 07:20 +0200
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 07:16 +0200
Re: Is this the way to work with try with resources Patrick Roemer <sangamon@netcologne.de> - 2017-08-08 19:30 +0200
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 06:49 +0200
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 07:01 +0200
Re: Is this the way to work with try with resources Patrick Roemer <sangamon@netcologne.de> - 2017-08-09 15:39 +0200
Re: Is this the way to work with try with resources Arne Vajhøj <arne@vajhoej.dk> - 2017-08-08 21:25 -0400
Re: Is this the way to work with try with resources Arne Vajhøj <arne@vajhoej.dk> - 2017-08-08 21:36 -0400
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 07:29 +0200
Re: Is this the way to work with try with resources Arne Vajhøj <arne@vajhoej.dk> - 2017-08-09 20:53 -0400
Re: Is this the way to work with try with resources Arne Vajhøj <arne@vajhoej.dk> - 2017-08-09 23:03 -0400
Re: Is this the way to work with try with resources Arne Vajhøj <arne@vajhoej.dk> - 2017-08-08 21:48 -0400
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 07:24 +0200
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 06:26 +0200
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 08:30 +0200
Re: Is this the way to work with try with resources Andreas Leitgeb <avl@logic.at> - 2017-08-09 09:40 +0000
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 12:56 +0200
Re: Is this the way to work with try with resources Andreas Leitgeb <avl@logic.at> - 2017-08-09 16:51 +0000
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 19:37 +0200
Re: Is this the way to work with try with resources Andreas Leitgeb <avl@logic.at> - 2017-08-09 19:51 +0000
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 22:20 +0200
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 23:17 +0200
Re: Is this the way to work with try with resources Patrick Roemer <sangamon@netcologne.de> - 2017-08-09 22:08 +0200
Re: Is this the way to work with try with resources Arne Vajhøj <arne@vajhoej.dk> - 2017-08-09 18:07 -0400
Re: Is this the way to work with try with resources Arne Vajhøj <arne@vajhoej.dk> - 2017-08-09 18:05 -0400
Re: Is this the way to work with try with resources Cecil Westerhof <Cecil@decebal.nl> - 2017-08-09 06:39 +0200
csiph-web