Java SE 8 Programmer II — Question 33

Given the code fragment:
9. Connection conn = DriveManager.getConnection(dbURL, userName, passWord);
10. String query = "SELECT id FROM Employee";
11. try (Statement stmt = conn.createStatement()) {
12. ResultSet rs = stmt.executeQuery(query);
13. stmt.executeQuery("SELECT id FROM Customer");
14. while (rs.next()) {
15. //process the results
16. System.out.println("Employee ID: "+ rs.getInt("id"));
17. }
18. } catch (Exception e) {
19. System.out.println ("Error");
20. }
Assume that:
The required database driver is configured in the classpath.
dbURL, userName, and passWord exists.
The appropriate database is accessible with the
Employee and Customer tables are available and each table has id column with a few records and the SQL queries are valid.

The -
What is the result of compiling and executing this code fragment?

Answer options

Correct answer: D

Explanation

The correct answer is D because the code attempts to execute a second query without closing the ResultSet from the first query, which can lead to a compilation error. Options A and B are incorrect as the program won't reach the point of printing any IDs due to the compilation issue. Option C is also incorrect because the program does not reach the error handling part.