Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ResultSet als Objekt zurückgeben, wenn conn geschlossen?
ich habe mir eine funktion erstellt, welche eine verbindung zur DB herstellt, eine Anfrage ausführt, und das ganze in ein ResultSet schreibt. Anschliessend wird die Verbindung beendet, und das Result set von der Funktion an eine weitere funktion übergeben.
Problem ist nun das er mir immer sag das das ResultSet geschlossen ist, wenn ich mir Datensätze ausgeben lassen möchte. Aber ich hab es nicht geschlossen, und wenn die Datensätze einmal eingelesen wurden müssten diese doch acuh im ResultSet gespeichert werden... hat jemand einen tipp?
Mein Ablauf:
- Verbindung zur Datenbank
- ResulstSet mit dem Ergebnis aus dem Statement füllen
- Statement schliessen, Datenbank verbindung schliessen
- ResultSet wird zur weiteren bearbeitung / auswertung an eine funktion übergeben
im resultset sind die daten ja nicht gespeichert. das resultset ist ja nur ein zeiger auf die daten. am besten du liest das resultset direkt aus und speicherst die daten in einer passenden datenstruktur und übrgibst diese weiteren funktionen.
Welche möglichkeiten hat man denn die Daten schnell abzuspeichern?, Mir würde im mom einfallen datensatz für datensatz durchzunavigieren und alles in ein Array abspeichern... oder gibbts da bessere wege?
Noe, da gibt's nix besseres soweit ich weis. Du musst das ResultSet durchgehen (am besten mit ),
ArrayList results = new ArrayList();
Code:
while(resultSet.next()) {
myObject = resultSet.get...
//und dann das Object irgendwo hinschreiben (Array, JavaBean, Vector, eigenes Objekt - was auch immer)
results.add(myObject);
}
Versuche es mit sun.jdbc.rowset.CachedRowSet
Du kannst die Connection schließen oder von mir aus die Datenbank samt
Server löschen und die Daten im CachedRowSet bleiben erhalten.
Was macht's fuer'n Sinn das ResultSet als XML abzubilden? Ist doch super kompliziert es erst in ein Document zu schreiben, oder?
Muss ja gestehen, dass ich gerade erst mit XML angefangen habe und doch etwas genervt bin und da sind mir
JavaBeans (oder auch fast alles andere) lieber. Also nur aus Interesse gefragt: Was macht XML in diesem Fall (!!!) fuer'n Sinn?
xml macht sinn, wenn du daten in ner datei auf permanentem speicher sichern willst oder ein gemeinsames datenformat zwischen miteinander kommunizierenden heterogenen systemen brauchst. wenn du die daten aus der db direkt intern weiterverarbeitest, dann macht xml wenig sinn. dann arbeitet man sinngemäß direkt im objektsystem weiter.
Ist mir ja schon klar - nur da hat er ja doch nie von gesprochen (Zitat) "zur weiteren bearbeitung / auswertung an eine
funktion übergeben". Ich meine ja nur, dass man Leuten, die gerade erst mit JDBC angefangen haben, nicht gerade
Begriffe wie XML um die Ohren hauen sollte... :wink: