datenmuell
Grünschnabel
Hallo zusammen,
ich möchte gerne aus einer Datenbank zeilenweise Werte auslesen und nach dem Auslesen/Abspeichern der Werte die komplette Zeile löschen. Hört sich einfach an, aber irgendwie funktioniert das nur beim ersten Wert, danach wird die Exception "Operation not allowed after ResultSet closed" geworden. Mein Programmcode ist angehängt.
Die Exception erscheint wohl, weil beim Aufruf von myRS.next() das ResultSet geschlossen wird und so beim nächsten Element nicht mehr verfügbar ist. Weiß jemand, wie ich das Programm umschreiben kann, so dass keine Exception mehr geworfen wird?
Danke schonmal & viele Grüße
datenmuell
ich möchte gerne aus einer Datenbank zeilenweise Werte auslesen und nach dem Auslesen/Abspeichern der Werte die komplette Zeile löschen. Hört sich einfach an, aber irgendwie funktioniert das nur beim ersten Wert, danach wird die Exception "Operation not allowed after ResultSet closed" geworden. Mein Programmcode ist angehängt.
Die Exception erscheint wohl, weil beim Aufruf von myRS.next() das ResultSet geschlossen wird und so beim nächsten Element nicht mehr verfügbar ist. Weiß jemand, wie ich das Programm umschreiben kann, so dass keine Exception mehr geworfen wird?
Danke schonmal & viele Grüße
datenmuell
Java:
// Treiber laden
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch(Exception ex)
{
System.out.println("Could not load driver!");
}
Connection conn = null;
// Verbindung aufbauen
try
{
conn = DriverManager.getConnection("jdbc:mysql://129.217.186.119/meineDB"+"?verifyServerCertificate=false"+"&useSSL=false"+"&requireSSL=false"+"&user=meinUsername"+"&password=XXXXXXXXXXX");
Statement stmt = conn.createStatement();
ResultSet myRS = stmt.executeQuery("SELECT * FROM urls ORDER BY id ASC");
String output = null;
String actualID = null;
while(myRS.next())
{
actualID = myRS.getString("id");
output = myRS.getString("url");
System.out.println(output+" wurde an QM gesendet! ("+actualID+")");
// TODO: SENDE URL ZUR WEITERVERARBEITUNG AN ANDEREN DIENST
stmt.close();
stmt.executeUpdate("DELETE FROM urls WHERE id='"+actualID+"'");
}
stmt.close();
conn.close();
}
catch (SQLException ex)
{
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}