Wie Begehen Sie eine SQLite-Transaktion in C/C++?

Ich bin mit sqlite c/c++ - Schnittstelle.

Ich habe 3 Tabellen (verknüpfte Tabellen) sagen: A, B, C. Nun, es gibt eine Funktion namens Set, die einige Eingänge und auf der Grundlage der Eingänge fügt Zeilen in diese drei Tabellen. (manchmal kann es ein update in einer der Tabellen)

Nun brauche ich zwei Dinge. Man, ich will nicht mit der autocommit-Funktion. Grundsätzlich würde ich gerne Begehen, nachdem alle 1000 Aufrufe Set Funktion

Zweitens, innerhalb der Funktion selbst, wenn ich finde, dass nach dem einsetzen in zwei Tabellen, die Dritte insert fehlschlägt, dann muss ich zurück, die insbesondere die änderungen Set Aufruf der Funktion.

Nun sehe ich keine sqlite3_commit Funktion ausgesetzt. Ich sehe nur eine Funktion, die aufgerufen wird sqlite3_commit_hook (), die etwas diff Dokumentation.

Gibt es irgendwelche Funktion ausgesetzt, die für diesen Zweck? oder wie ist der Weg zum erreichen dieses Verhalten?

Können Sie mir helfen mit der beste Ansatz, dies zu tun.

  • können Sie nicht einfach ausführen BEGIN und COMMIT Abfragen?
  • Sollten Sie vielleicht überdenken, die die ausgewählte Antwort.
InformationsquelleAutor AMM | 2010-05-21
Schreibe einen Kommentar