Path: csiph.com!news.swapon.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Cecil Westerhof Newsgroups: comp.lang.java.programmer Subject: Re: Which databases are the most used with Java Date: Tue, 15 Aug 2017 18:38:15 +0200 Organization: Decebal Computing Lines: 63 Message-ID: <87tw18n5vs.fsf@munus.decebal.nl> References: <87y3qovwjb.fsf@munus.decebal.nl> <87tw1bx2c9.fsf@munus.decebal.nl> <87a833wzcx.fsf@munus.decebal.nl> <87pobz9yv5.fsf@munus.decebal.nl> <87h8x9pfi8.fsf@munus.decebal.nl> <877ey5ngtu.fsf@munus.decebal.nl> <6b0c0b97-8517-4f08-b512-fc3f3054fbb6@googlegroups.com> <87378soq8a.fsf@munus.decebal.nl> <54246758-9876-4f41-a7ac-c2fff223a9e0@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="72fb8bea0235c6b94245dccb186de60d"; logging-data="1655"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Uhch0JPyPud40tXRVXkZxNZtEhtM838M=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) X-Homepage: http://www.decebal.nl/ Cancel-Lock: sha1:ld0N3HfZZpaxbeHgN6XJi16OKS4= sha1:34i7icecXbOBB9LTi64EVXqHknI= Xref: csiph.com comp.lang.java.programmer:37250 Eric Douglas writes: > public static void main(final String[] args) { > try { > Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password); > Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); > ResultSet rs = stmt.executeQuery("SELECT table_name FROM information_schema.tables"); > System.out.println(stmt.getClass()); > rs.last(); > System.out.println(rs.getRow()); > rs.close(); > rs = stmt.executeQuery("SELECT name from sys.columns"); > rs.last(); > System.out.println(rs.getRow()); > rs.close(); > stmt.close(); > conn.close(); > } catch (SQLException e) { > e.printStackTrace(); > } > } I would not write it like that. At least like this: public static void main(final String[] args) { try (Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)){ try (ResultSet rs = stmt.executeQuery("SELECT table_name FROM information_schema.tables")) { System.out.println(stmt.getClass()); rs.last(); System.out.println(rs.getRow()); } try (ResultSet rs = stmt.executeQuery("SELECT name from sys.columns")) { rs.last(); System.out.println(rs.getRow()); } } catch (SQLException e) { e.printStackTrace(); } } But I do not like this kind of code, so I would rewrite it to: public static void main(final String[] args) { try (Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password); Statement stmtTable = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rsTable = stmt.executeQuery("SELECT table_name FROM information_schema.tables"); Statement stmtColumn = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rsColumn = stmt.executeQuery("SELECT name from sys.columns")){ System.out.println(stmtTable.getClass()); rsTable.last(); System.out.println(rsTable.getRow()); rsColumn.last(); System.out.println(rsColumn.getRow()); } catch (SQLException e) { e.printStackTrace(); } } And I do not mind to get rid of those Statements. -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof