Anfang des ResultSets

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Hi,

ich habe ein ResultSet. Dieses ResultSet gehe ich komplett durch. Wenn ich am Ende angekommen bin, muss ich nochmal zu den Anfangsdatensätzen des ResultSets. Aber jeglicher Versuch wie rs.beforeFirst() oder rs.absolute(1) oder rs.previous() endet in einer Exception, die mir sagt, dass es sich hierbei um eine ungültige Position handelt. Wie komme ich jetzt wieder zum Anfang meines ResultSets? Alle entsprechenden Daten irgendwo ziwschentzuspeichern möchte ich eigentlich umgehen.

Danke!
 

tfa

Top Contributor
Die Möglichkeit im Resultset zurück zu scrollen hängt stark von der DB
und den dazugehörigen Treibern ab. Leider verschweigst Du uns die Fehlermeldung.
Lass Dir mal den Typ des Resultsets ausgeben (ResultSet.getType()).
Möglicherweise ist es ein TYPE_FORWARD_ONLY. In diesem Fall wird Dir
nichts anderes übrig bleiben, die Query nochmal abzusetzen, oder besser
die benötigten Informationen doch beim ersten Durchlauf zu speichern.

Thomas
 

The_S

Top Contributor
Ist tatsächlich TYPE_FORWARD_ONLY ... wird mir wohl nix anderes übrig bleiben :cry: . Danke!
 
G

Guest

Gast
Hobbit_Im_Blutrausch hat gesagt.:
Ist tatsächlich TYPE_FORWARD_ONLY ... wird mir wohl nix anderes übrig bleiben :cry: . Danke!
Erstelle doch ein entsprechendes Statement. Siehe Connection-Interface.
 

The_S

Top Contributor
Leider wird die Connection nicht von meinem Programm selbst "generiert". Habe also keinen Zugriff darauf.
 
G

Guest

Gast
Hobbit_Im_Blutrausch hat gesagt.:
Leider wird die Connection nicht von meinem Programm selbst "generiert". Habe also keinen Zugriff darauf.
Ich meinte Statement, nicht die Connection.

So ungefähr.
Code:
Statement statement = connection.createStatement(
      ResultSet.TYPE_SCROLL_INSENSITIVE, 
      ResultSet.CONCUR_READ_ONLY
);
auf die gleiche Art kannst du auch PreparedStatement erstellen.
 

The_S

Top Contributor
Ah, man sollte sich die ganzen Methoden auch mal angucken. Geht zum Glück auch für ein CallableStatement, damit funktioniert es, danke :D !
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben