Hallo miteinander,
ich habe eine Frage zu einem Vorgehen: In einem Programm nutze ich zwei ResultSets. Mein "linkes" ResultSet arbeite ich step-by-step ab. Dabei prüfe ich immer, ob Name & Vorname der beiden Pointer (linkes & rechtes ResultSet) identisch sind. Falls das der Fall ist, wird das rechte ResultSet auch verarbeitet und der Pointer nach vorne verschoben. Problem dabei ist, dass zu einem Eintrag auf der linken Seite, mehrere (oder auch keine) Einträge auf der rechten Seite gehen.
Ich brauche also bei der Verarbeitung des linken ResultSets (immer wenn ich den Pointer gerade verschiebe) eine Schleife, die solange durch mein rechtes ResultSet läuft, solange Name & Vorname mit dem Name & Vorname des linken ResultSets übereinstimmen und solange next() == true.
Ich hatte an sowas gedacht:
Ansich läuft das alles ganz prima. Nachteil ist aber, dass der Pointer des rechten RS einfach immer weitergeschoben wird. Damit kann es ganz am Ende zu einem Fehler kommen (Erschöpfte Ergebnismenge).
Ich bräuchte daher euren Tipp!
Danke
ich habe eine Frage zu einem Vorgehen: In einem Programm nutze ich zwei ResultSets. Mein "linkes" ResultSet arbeite ich step-by-step ab. Dabei prüfe ich immer, ob Name & Vorname der beiden Pointer (linkes & rechtes ResultSet) identisch sind. Falls das der Fall ist, wird das rechte ResultSet auch verarbeitet und der Pointer nach vorne verschoben. Problem dabei ist, dass zu einem Eintrag auf der linken Seite, mehrere (oder auch keine) Einträge auf der rechten Seite gehen.
Ich brauche also bei der Verarbeitung des linken ResultSets (immer wenn ich den Pointer gerade verschiebe) eine Schleife, die solange durch mein rechtes ResultSet läuft, solange Name & Vorname mit dem Name & Vorname des linken ResultSets übereinstimmen und solange next() == true.
Ich hatte an sowas gedacht:
Java:
while (linkesRS.next() {
while(rechtesRS.getString("Name").equals(linkesRS.getString("Name"))
&& rechtesRS.getString("Vorname").equals(linkesRS.getString("Vorname"))
) {
//verarbeite rechtes RS und schiebe Pointer nach vorne
// ...
rechtesRS.next();
}
}
Ansich läuft das alles ganz prima. Nachteil ist aber, dass der Pointer des rechten RS einfach immer weitergeschoben wird. Damit kann es ganz am Ende zu einem Fehler kommen (Erschöpfte Ergebnismenge).
Ich bräuchte daher euren Tipp!
Danke
Zuletzt bearbeitet: