Transaktionssicherheit in SQLite

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Funkfeuer, 25.02.2012.

  1. Funkfeuer, 25.02.2012 #1
    Funkfeuer

    Funkfeuer Threadstarter Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    1
    Registriert seit:
    19.09.2011
    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
     

Diese Seite empfehlen