Ich habe folgendes Problem:
Wenn ich auf die Schaltfläche "Export" klicke, wird eine csv-Datei erstellt mit den entsprechenden Werten aus der DB (über Select ausgewählt).
Der Action Handler sieht wie folgt aus:
Die Methode updateDokumentationsstatus_übermittelt aus der Klasse Update macht folgendes:
Nun passiert folgendes:
Die csv-Datei wird zwar erstellt, aber keine Werte reingeschrieben (obwohl es entsprechende DS gibt).
Dann hab ich noch die Fehlermeldung
Was mache ich da falsch?
Wenn ich auf die Schaltfläche "Export" klicke, wird eine csv-Datei erstellt mit den entsprechenden Werten aus der DB (über Select ausgewählt).
Der Action Handler sieht wie folgt aus:
Code:
/*--------------------------------------------------------------*/
/* Schaltfläche "Export"*/
/*--------------------------------------------------------------*/
class exportListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
patientendaten_leeren();
doku_leeren();
if (Login.angemeldeter_User.equals("sa"))
{
/**Export der Daten in eine csv-Datei**/
Calendar cal = Calendar.getInstance();
cal.setTime(new java.util.Date()); // heutiger Tag
jahr = cal.get(Calendar.YEAR);
jahr_string = Integer.toString(jahr);
try
{
Statement csv_stmt = Login.connection.createStatement();
String csv_string = "Select Krankenhaus.KH_Plan_Nummer, Krankenhaus.KH_IK_Nummer, Dokumentation.* From Krankenhaus, Dokumentation where Dokumentation.jahr <= " + jahr + " AND Dokumentation.status = 'abgeschlossen' OR status_abgeschlossen_weil = 'Korrekturlieferung'";
System.out.println(csv_string);
ResultSet csv_rs = csv_stmt.executeQuery(csv_string);
Statement stmt_update_csv = Login.connection.createStatement(); // Statement erzeugen
while (csv_rs.next())
{
/** Export-Datei erstellen**/
Csv export = Csv.getInstance();
export.setFieldSeparatorWrite(";"); // Trennzeichen in der Export-Datei auf ";" umändern (Standard ist ",")
export.setFieldDelimiter('\''); // Trennungszeichen für die Feldbezeichnung auf "'" setzen
export.write("export.csv", csv_rs, null);
}
//csv_stmt.close();
JOptionPane.showMessageDialog(null, "Datei wurde erstellt",
"Info", JOptionPane.INFORMATION_MESSAGE);
/** Status auf 'übermittelt' setzen**/
Update.updateDokumentationsstatus_übermittelt();
}
catch(Exception csv_e)
{
JOptionPane.showMessageDialog(null, "Es ist ein Fehler beim Export aufgetreten" + csv_e,
"Export-Fehler", JOptionPane.ERROR_MESSAGE);
}
}
else
{
JOptionPane.showMessageDialog(null, "Sie sind nicht als Systemadministrator angemeldet",
"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
}
}
}
Die Methode updateDokumentationsstatus_übermittelt aus der Klasse Update macht folgendes:
Code:
public static void updateDokumentationsstatus_übermittelt()
{
try
{
Statement stmt_updateStatus = Login.connection.createStatement();
String update = "update Dokumentation set status = 'übermittelt' where status = 'abgeschlossen'";
int i = stmt_updateStatus.executeUpdate(update);
JOptionPane.showMessageDialog(null, " Daten geändert",
"DB-Meldung", JOptionPane.INFORMATION_MESSAGE);
//stmt_updateStatus.close(); // Statement schließen
}
catch(SQLException aendern1)
{
JOptionPane.showMessageDialog(null, "Fehler beim Ändern" + aendern1,
"DB-Meldung", JOptionPane.ERROR_MESSAGE);
}
}
Nun passiert folgendes:
Die csv-Datei wird zwar erstellt, aber keine Werte reingeschrieben (obwohl es entsprechende DS gibt).
Dann hab ich noch die Fehlermeldung
Objekt wurde bereits geschlossen
Was mache ich da falsch?