2012-04-11 6 views
0

In meiner Anwendung habe ich zwei Threads ausgeführt. Man wird den Server abfragen und die Datenbank aktualisieren. Ein anderer Thread erhält die Daten und aktualisiert die Benutzeroberfläche.
Das Problem ist, dass wenn beide lesen und schreiben gleichzeitig Datenbank aufrufen, ein Fehler ist.
der Fehler ist wie folgt:
Fehler bei der Erstellung von SELECT c.id, c.address, c.type, e.id, e.name, e.logo, e.system, c.ITY FROM cashpoints c, Entitäten e WHERE e.id = c.entity UND c.id =?; => 'Datenbank ist gesperrt'iOS - SQL Lite gleichzeitig lesen und schreiben

+0

sollten Sie FMDatabase verwenden: https://github.com/ccgus/fmdb, um Thread-Synchronisierungsfehler mit Ihrer SQLite-DB zu vermeiden – CarlJ

+0

Einfach überprüfen ... bestätigen Sie, nachdem Sie Ihre Datenbank aktualisiert haben? – giorashc

+0

@meccan: Ich denke für ein paar SQL-Statements seine Verschwendung, eine riesige fmdb src zu integrieren. – Satyam

Antwort

0

Wie in den Kommentaren von @meccan erwähnt, ist die Lösung, FMDB zu verwenden oder besser mit Kerndaten zu gehen.

+0

Bemerkenswert FMDatabaseQueue von FMDB. – Rob