Transaktionssicherheit in SQLite

F

Funkfeuer

Neues Mitglied
1
Hallo,

ich hätte eine generelle Frage zu Transaktionen mit SQLite.

Ich habe verschiedene SQL-Anweisungen in den Methoden methode1(), methode2() und methode3() gekapselt.
In diesen Methoden werden INSERT-Befehle in verschiedenen Tabellen durchgeführt.
Sollte es in einer dieser Methoden zu einem Fehler/Abbruch kommen, sollen auch in allen anderen Methoden die INSERT-Befehle rückgängig gemacht werden (Rollback).
In den Methoden werden neben Datenbank-Operationen auch z. B. Benutzereingaben validiert. Es wird also auch Logik durchgeführt, die nix mit der Datenbank zu tun haben.
So soll z. B. wenn ein Webservice-Aufruf erfolgreich war, ein INSERT ausgeführt werden - oder halt nicht. Das hätte dann aber auch Auswirkungen auf die anderen Methoden, dass dann die vorigen INSERT's erhalten (Commit) bleiben oder eben wieder rückgängig gemacht werden (Rollback).

Ist das so wie im folgenden Beispiel durchführbar:
Code:
sqlDatenbank.beginTransaction();
try {
    methode1(); //hier werden Benutzereingaben validiert
    methode2(); //hier wird ein Webservice aufgerufen
    methode3(); //hier erfolgen Logging-Einträge
    
    sqlDatenbank.setTransactionSuccessful();

} catch (Exception e) {
    e.toString();
}finally{
    sqlDatenbank.endTransaction();
}

cu
Chris
 

Ähnliche Themen

R
Antworten
6
Aufrufe
994
swa00
swa00
D
Antworten
23
Aufrufe
2.497
Data2006
D
Zurück
Oben Unten