SQLException Ungültiger cursor-Zustand
Ich bin Codierung einer einfachen CRUD-Anwendung in java und ich haben eine Methode, um wählen Produkte, die Sie gehen mit Rechnungen.
Hier ist mein code:
public Rechnung selectProdukte(int target){
int tempProdukt;
int tempAnzahl;
try {
PreparedStatement ps1=hsqlmanager.getConnection().prepareStatement("SELECT produkt, anzahl from gekauftes_produkt " +
"WHERE rechnung= " + target + ";");
//ps1.setInt(1, target);
//Query 1wird executiert
PreparedStatement ps2 = hsqlmanager.getConnection().prepareStatement("SELECT * FROM rechnung WHERE id= " + target + ";");
//ps2.setInt(1, target);
ResultSet rs1 = ps1.executeQuery();
ResultSet rs2 = ps2.executeQuery();
Rechnung erg=new Rechnung();
erg.setId(rs2.getInt(1));
erg.setDatum(rs2.getDate(2));
erg.setSumme(rs2.getDouble(3));
while(rs1.next()){
tempProdukt=rs1.getInt(1);
tempAnzahl=rs1.getInt(2);
erg.addGekauftTupel(tempProdukt, tempAnzahl);
}
ps1.close();
ps2.close();
return erg;
} catch(Exception e) {
log.error("Fehler in DAO Rechnung - selectProdukte: " + e);
}
return null;
}
Wenn ich drücken Sie die Taste, um den code auszuführen bekomme ich:
java.sql.SQLException: Ungültiger cursor-Status: id-cursor nicht
positioniert auf die Zeile UPDATE, DELETE, SET oder GET-Anweisung: ;
Ergebnismenge, die positioniert ist, bevor die erste Zeile
Ich habe in der db alle Tabellen und Entitäten, die existieren. Also meine Frage ist:
Was bedeutet das?
Ich Schätze Ihre Antwort!!!
PS.: Ich bin hsql db!
Du musst angemeldet sein, um einen Kommentar abzugeben.
haben Sie nicht genannt
rs2.next()
vor dem Zugriff auferg.setId(rs2.getInt(1));