Fehlermeldung "Objekt bereits geschlossen"

Status
Nicht offen für weitere Antworten.

Alex_winf01

Top Contributor
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:

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?
 
S

SlaterB

Gast
was ist Csv?
was macht write()?
kannst du prüfen, ob dort das ResultSet durchlaufen wird?
fehlt vielleicht nur am Ende ein flush/ close auf dem Stream?

wo genau tritt denn die Exception auf? welche Code-Zeile? was für Exception ist das? am besten ganzer StackTrace,
wozu erzeugst du stmt_update_csv?
 

Alex_winf01

Top Contributor
Also, ich verwende die H2-Datenbank und den Export aus der Datenbank erfolgt über die Klasse CSV. Hier ist der Link dazu:

www.h2database.com/html/frame.html

Die csv-Datei wird ja erstellt, aber ohne Werte, da das Objekt vorher geschlossen wurde. Die updateDokumentationsstatus_übermittelt() wird durchgeführt, wenn ich nämlich in die DB über die Weboberfläche schaue, ist die entsprechende Spalte geändert.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
thor_norsk SQLite Fehlermeldung Datenbankprogrammierung 4
S Fehlermeldung "Path to ... does not exist! (?) Datenbankprogrammierung 6
S Fehlermeldung - php Datenbankprogrammierung 10
L Derby/JavaFX Fehlermeldung Datenbankprogrammierung 3
A Fehlermeldung: JOIN FETCH expressions cannot be defined with an identification variable Datenbankprogrammierung 0
S HSQLDB Fehlermeldung für den Bildschirm Datenbankprogrammierung 3
S HSQLDB getGeneratedKey() - Fehlermeldung Datenbankprogrammierung 6
D Oracle SQL Ergebnis anzeigen und Applet Fehlermeldung Datenbankprogrammierung 12
C Abfrageergebnis richtig, trotzdem Fehlermeldung Datenbankprogrammierung 11
A Fehlermeldung H2 Database Datenbankprogrammierung 3
V Fehlermeldung beim Insert Datenbankprogrammierung 16
A Java JDBC Programm bringt auf Unix Server Fehlermeldung Datenbankprogrammierung 4
A Fehlermeldung: Keine Daten verfügbar Datenbankprogrammierung 2
B PrepareStatement "Insert into" fehlermeldung Datenbankprogrammierung 13
C Error in my_thread_global_end() - FehlerMeldung MySql? Datenbankprogrammierung 2
P Fehlermeldung "source not found" Datenbankprogrammierung 2
N Fehlermeldung bei SQL Abfrage Datenbankprogrammierung 5
J Fehlermeldung beim ausführeren dieses Befehles Datenbankprogrammierung 5
G Pool Exhausted Fehlermeldung Datenbankprogrammierung 7
P Fehlermeldung beim Erstellen einer neuen Tabelle Datenbankprogrammierung 2
M Daten werde gesetzt, aber trotzdem Fehlermeldung! Datenbankprogrammierung 3
A Datasource JNDI -Fehlermeldung Datenbankprogrammierung 2
G JDBC-Treiber-Fehlermeldung Datenbankprogrammierung 4
R insert in MySQL - Fehlermeldung Datenbankprogrammierung 2
W Fehlermeldung beim Ändern einer jdbTable Datenbankprogrammierung 5
G Fehlermeldung beim Zugriff auf SQL-Server-DB Datenbankprogrammierung 3
tom.j85 Objekt in OneToOne Beziehung über http request anzeigen lassen Datenbankprogrammierung 3
C Objekte aus DB in Strings umwandeln also von List<Objekt> in String Datenbankprogrammierung 6
S Mit 2 Queries ein Objekt erstellen Datenbankprogrammierung 6
I SQLite Objekt speichern einer Serialisierter Klasse Datenbankprogrammierung 1
P MySQL Historie für ein Objekt anlegen Datenbankprogrammierung 5
H JDBCODBC - Connection-Objekt Datenbankprogrammierung 3
N Java-Objekt dynamisch aus Datenbanktabelle erzeugen? Datenbankprogrammierung 4
W MySQL-Connection-Objekt übergeben Datenbankprogrammierung 2
G MySQL Zugriff auf Datenbank Objekt Datenbankprogrammierung 19
M JPA-Query - nicht das komplette Objekt Datenbankprogrammierung 4
J Derby/JavaDB NullPointerException bei VORHANDENEM EntityManager-Objekt!!! Datenbankprogrammierung 3
kirchrath Hibernate Join - angejointes Objekt wählen Datenbankprogrammierung 2
P MySQL Objekt aus BLOB auslesen Datenbankprogrammierung 3
S JPA: Objekt in Tabelle mit Composite Keys mappen (Embeddable Annotation) Datenbankprogrammierung 2
Y JPQL WHERE != Objekt Datenbankprogrammierung 10
J Datenbank: Record-Objekt Datenbankprogrammierung 2
M \t in List-Objekt Datenbankprogrammierung 5
S Java objekt in MYSQL auslesen Datenbankprogrammierung 32
M Java Objekt in Datenbank schreiben :( Datenbankprogrammierung 8
G objekt zurück setzen Datenbankprogrammierung 2
sparrow Objekt mit lazy-verbindung komplettieren Datenbankprogrammierung 13
A JDBC-Fehler "Objekt bereits geschlossen" Datenbankprogrammierung 4
Y Hibernate - 1:1 Beziehung liefert leeres Objekt Datenbankprogrammierung 19
S Hibernate - Ein Referenziertes Objekt mit Sprichern Datenbankprogrammierung 5
P [Hibernate] Objekt laden, Id ändern und speichern? Datenbankprogrammierung 2
R Hibernate speichert nur das Basis-Objekt Datenbankprogrammierung 4
M Objekt in Datenbank speichern Datenbankprogrammierung 2
J Wie kann ich in ein OLE-Objekt reinschreiben ? Datenbankprogrammierung 2
K relationale vs. objekt-orientierte Datenbank Datenbankprogrammierung 4
L Objekt in die DB speichern und die Id zurückgeben Datenbankprogrammierung 2
T Spring MongoDB: Prüfen ob bereits eine Email existiert Datenbankprogrammierung 15
L Pürfen ob ID bereits vorhanden Datenbankprogrammierung 18
megachucky JPA: Problem bei Mischung von nicht persistenten und bereits persistenten Entities Datenbankprogrammierung 3
C Prüfen, ob eine MySQL-Tabelle bereits existiert Datenbankprogrammierung 7
A Reihe in Datenbank überschreiben falls bereits vorhanden Datenbankprogrammierung 2
G HSQLDB überprüfen, ob Tabelle bereits existiert Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben