JDBC PreparedStatement durchiterieren

skuki

Aktives Mitglied
Hallo,

ich würde gerne eine Möglichkeit haben durch ein preparedStatement durchzuiterieren.

Mein PreparedStatement sieht so aus:
Code:
select k.knr AS Kundenummer, k.name AS Name,from Kunde k, AktKundendaten kd where kd.knr = Auftrag.knr AND k.rnr = ?

wie kann ich jetzt eine Schleife für die k.rnr schreiben wenn ich nicht weis wie groß rnr ist?

Bei rnr handelt es sich um ein Integer Wert (Rechnungsnummer)


Vielen Dank
 
Über ein PreparedStatement kann man nicht iterieren.
Du kannst aber über die Ergebnismenge (ResultSet) itererieren, sobald du das PreparedStatement ausgeführt hast (execute()).

Was heißt du willst eine Schleife für "k.rnr" schreiben?
Willst du dein PreparedStatement für jede mögliche "rnr" ausführen?
 
Java:
con = DriverManager.getConnection(....
String query = //dein statement
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);

while(rs.next())
{
}

Meinst du sowas?
 
So geht es leider nicht, da ich der Query per Angabe eine rnr übergeben muss. Daher habe ich ein preparedStatement zu verwenden.

Dachte es gibt hier eine einfache Lösung die ich noch nicht kenne..
 
Einfachste Möglichkeit den Parameter einfach weglesen. Wenn du eh für alle Rechnungsnummern diese Query ausführen willst wäre es eben am einfachsten diese 1x zu tun und dann im Programm die Daten weiterzuverarbeiten.
Vorteil: Du führst nur ein Query aus was auch performanter ist

Natürlich eine andere Variante wäre davor mit einem SELECT alle Rechnungsnummern auszulesen und für jede dieser Rechnungsnummern (wie man über ein ResultSet iteriert hat dir KaffeeFan schon gezeigt) dann eben das andere Statement ausführen.
 

Zurück
Oben