Rated 3 out of 5 stars

Hotel2:

import java.sql.*;

public class Hotelverwaltung_Rabatt
{
public static void main(String[] args) {
Driver treiber = null;
Connection verbindung = null;
Statement befehl = null;
Statement befehl2 = null; //neue Variable erstellen!
ResultSet daten = null;
ResultSet daten2 = null; //Neue Variable erstellen!
String datenbank = "jdbc:oracle:thin:@dbserver2:1521:ora10",kennung ="bbsh8abe",passwort="RKa7zs";



try {
treiber = new oracle.jdbc.driver.OracleDriver();
DriverManager.registerDriver(treiber);
verbindung = DriverManager.getConnection(datenbank,kennung,passwort);
befehl = verbindung.createStatement();
befehl2 = verbindung.createStatement(); //neues Statement erstellen!
//################################################################################
// Hier die Lösung der Aufgabe einfügen
verbindung.setAutoCommit(false);

daten = befehl.executeQuery("Select knr from h_kunde where knr not in (select knr from h_reservierung)");

//leere Menge prüfen:
if(!daten.next())
System.out.println("Alle Kunden haben Reservierungen");
else do {

//Nullbehandlung:
int knr = daten.getInt(1);
daten2 = befehl2.executeQuery("Select rabatt from h_sonderangebote Where knr = " + knr);

if (!daten2.next()){
//insert
int anzahl = befehl2.executeUpdate("insert into h_sonderangebote values (" + knr + ",10)");
}
else{
//update
int anzahl = befehl2.executeUpdate("update h_sonderangebote set rabatt = 10 where knr = " + knr + " and rabatt < 10");
}

}while(daten.next());
daten.close();

verbindung.commit();
//################################################################################
}
catch (SQLException sql){
verbindung.rollback();
do {
System.out.println(sql.toString());
System.out.println("Fehler: "+ sql.getErrorCode());
verbindung.rollback();
}while (sql.getNextException() != null);
}
catch (Exception e){ System.out.println("Fehler: " + e);}
finally {try{
verbindung.close();}
catch (Exception e){ System.out.println("Fehler: " + e);}
}
}
}

This user has other reviews of this add-on.