Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


18.11.2

Steuerung von Transaktionen mit JDBC


Liefert getAutoCommit() den Wert false, muss man die Steuerung der Transaktionen explizit im Quellcode durchführen. Hierfür stellt das Interface Connection folgende Methoden zur Verfügung: Folgender Codeausschnitt zeigt ein Beispiel für die Verwendung von commit() und rollback():
  Connection con =
    DriverManager.getConnection(url, user, password);
  // Auto-Commit deaktivieren
  con.setAutoCommit(false);  
  Statement stmt = con.createStatement();
  ...
  try {
    stmt.executeUpdate(sql1);
    stmt.executeUpdate(sql2);
    stmt.executeUpdate(sql3);
    // Wenn keine Fehler aufgetreten sind,
    // Änderungen festschreiben
    con.commit();  
  } catch(SQLException e) {
    // Beim Auftreten einer Exception Rollback durchführen
    con.rollback();
  }
  ...
Nach dem Deaktivieren des Auto-Commit werden mehrere SQL-Operationen in einer try/catch-Klausel durchgeführt. Tritt kein Fehler auf, wird nach der letzten Anweisung commit() aufgerufen. Beim Auslösen einer SQLException wird commit() übersprungen und in den catch-Block verzweigt. Dort wird durch Aufruf von rollback() ein ROLLBACK durchgeführt.


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.