King^Lully: DB-Connection schliessen und trotzdem ResultSet zurückgeben

Beitrag lesen

Ich kenne mich mit Java nicht aus, aber ein paar Anmerkungen:

Die Ganze Klasse ist als Singleton angelegt.

Ein Singleton ist eine einelementige Menge, vermute mal, dass das eine Klasse ist, die nur einmalig instaziiert werden kann, korrekt?

public ResultSet getDBData(String query){
  //Verbindung aufbauen
  Connection cn = this.getConnection();

Greifst Du auf eine bestehende Verbindung zurück, wo ist der Connection-String?

try{
   //Die normalen DB-Methoden
   Statement st = cn.createStatement();
   //query ist SQL-Anfrage
   ResultSet rs = st.executeQuery(query);

So, jetzt hast Du die Datensatzmenge.

//Schliessen
   rs.close();
   st.close();
   cn.close();
   //Hier sollte das ResultSet übergeben werden, um nachher einen HTML-Table zu erzeugen
   return rs;

Jetzt gibst Du zu spät das rs zurück, denn dieses ist ja gerade geschlossen worden.

} catch (SQLException e){
   //Fehlerbehandlung
   error = true;
   errorMsg = e.getMessage();
  }
}

Wird die Fehlermeldung zurückgegeben?