I try to make 2 queries from a Firebird 2.5 DB. I use two separate Statement objects, but when in second query program try to use data from first query, it gets an error:
java.sql.SQLException: The result set is closed.
conn = DriverManager.getConnection(
strURL,
strUser, strPassword);
if (conn == null) {
System.err.println("Could not connect to database");
}
Statement stmt = conn.createStatement();
Statement statement = conn.createStatement();
ResultSet rs = stmt.executeQuery(strSQL);
ResultSet rs2 = null;
try {
while (rs.next()) {
String strSQL2 = "SELECT PATIENT_NAME_R, PATIENT_DOB, PATIENT_ID, PATIENT_SEX, PATIENT_ADDRESS_CITY, PATIENT_ADDRESS_SHF FROM PATIENTS WHERE PATIENT_UID = " + rs.getObject(1);
rs2 = statement.executeQuery(strSQL2);
try {
while (rs2.next()) {
System.out.println("СПРАВКА");
System.out.println("Ф.И.О.: " + rs2.getObject(1).toString().trim() + " Дата рождения: " + rs2.getObject(2));
System.out.println("СНИЛС: " + rs2.getObject(3));
System.out.println("Адрес: " + rs2.getObject(5) + " " + rs2.getObject(6));
System.out.println("Врач: " + rs.getString("STUDY_MD"));
System.out.println("----------------------------------------------------------------");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
} catch (SQLException e) {
e.printStackTrace();
}
In while (rs2.next())
in line System.out.println("Врач: " + rs.getString("STUDY_MD"))
, I get error
java.sql.SQLException: The result set is closed
at org.firebirdsql.jdbc.AbstractResultSet.checkOpen(AbstractResultSet.java:297)
at org.firebirdsql.jdbc.AbstractResultSet.getField(AbstractResultSet.java:788)
at org.firebirdsql.jdbc.AbstractResultSet.getString(AbstractResultSet.java:844)
at sample.Main$MedicalCert.run(Main.java:156)
at java.lang.Thread.run(Thread.java:748)