2016-05-23 7 views
1

Ich habe eine QML-Anwendung, mit der Benutzer interagieren. Es gibt einen Timer, der auf den Server für den Arbeitsauftrag hört und dann alle Informationen in SQLite db in der Anwendung einfügt. Auch Benutzer machen Änderungen an Daten (aktualisieren, löschen usw.) in SQLite. Meine Frage ist, wie man Multioperation auf SQLite Tabelle verhindert. Nur eine Operation muss auf SQLite wirksam werden (auswählen, löschen, einfügen, aktualisieren ....) Ich weiß nicht, aber, kann die Mutex.lock-Struktur dafür verwenden. Oder gibt es eine etwas falsch mit mehreren Operation auf SQLiteQt, Wie SQLite-Datenbank für mehrere Operationen sperren

Antwort

0

Das erste, was Sie tun sollten, bis auf SQLite Verriegelungs gelesen wird, sie einen Abschnitt in der Dokumentation über sie haben: https://www.sqlite.org/lockingv3.html

Die summarisation ist, dass SQLite nicht Verriegelung auf Änderungen wie Einfügung oder Aktualisierung, aber keine Sperre beim Lesen. Wenn jedoch während einer Änderung eine Sperre vorhanden ist, kann der Lesevorgang nicht auf die Datenbank zugreifen.

Ich würde mir nicht zu viel Sorgen über das Sperren beim Lesen machen, der Zustand sollte in diesem Stadium in Ordnung sein.

+0

Ich verstehe nicht.Wie kompilieren SQLite –