QSqlTableModel mit Sqlite blockiert DBTabelle!?
Verfasst: 3. Februar 2010 09:26
Hallo Leute,
sitze nun seit ner Woche an nem blöden Problem, wir nutzen Qt 4.5.2.
Habe schon in eurem Forum gesucht, allerdings keine Lösung gefunden.
Habe eine Sql Datenbank(Sqlite) welche über ein SqlTableModel und ein TableView angezeigt wird.
Sql Tabelle wird mit 256 Datensätzen gefüttert(einfaches CREATE, INSERT)
danach wird ein DROP ausgführt. Funktioniert Tabelle ist weg.
Sql Tabelle wird mit 257 Datensätzen gefüttert(einfaches CREATE, INSERT)
danach wird ein DROP ausgführt. Bekomme eine Fehlermeldung :"database table is locked Unable to fetch row" .
Habe in der Doku rumgesucht, finde da allerdings keine Erklärung zu dem Problem.
Also hab ich ein kleines Programm erstellt und versucht das nachzustellen.
das Problem konnte ich dort mit der Lösung:
beheben. Meine Tabelle wurde ordnungsgemäß gelöscht.
Allerdings lässt sich das nicht auf mein großes Projekt zurückführen. Queries laufen keine auf der Tabelle, denn DELETE oder andere SQL-Befehle lassen sich auch ausführen. nur der DROP schmeißt diese Fehlermeldung und auch nur wenn ich mehr als 257 Datensätze habe.
habt ihr schonmal sowas gehabt? welche Möglichkeiten gibt es das diese Tabelle nicht mehr blockiert wird!? In der Doku finde ich nichts, bin echt ratlos.
Danke für die Hilfe schonmal im Voraus.
Gruß
Arkadius
sitze nun seit ner Woche an nem blöden Problem, wir nutzen Qt 4.5.2.
Habe schon in eurem Forum gesucht, allerdings keine Lösung gefunden.
Habe eine Sql Datenbank(Sqlite) welche über ein SqlTableModel und ein TableView angezeigt wird.
Sql Tabelle wird mit 256 Datensätzen gefüttert(einfaches CREATE, INSERT)
danach wird ein DROP ausgführt. Funktioniert Tabelle ist weg.
Sql Tabelle wird mit 257 Datensätzen gefüttert(einfaches CREATE, INSERT)
danach wird ein DROP ausgführt. Bekomme eine Fehlermeldung :"database table is locked Unable to fetch row" .
Habe in der Doku rumgesucht, finde da allerdings keine Erklärung zu dem Problem.
Also hab ich ein kleines Programm erstellt und versucht das nachzustellen.
das Problem konnte ich dort mit der Lösung:
Code: Alles auswählen
while (m_tableModel->canFetchMore()) m_tableModel->fetchMore();beheben. Meine Tabelle wurde ordnungsgemäß gelöscht.
Allerdings lässt sich das nicht auf mein großes Projekt zurückführen. Queries laufen keine auf der Tabelle, denn DELETE oder andere SQL-Befehle lassen sich auch ausführen. nur der DROP schmeißt diese Fehlermeldung und auch nur wenn ich mehr als 257 Datensätze habe.
habt ihr schonmal sowas gehabt? welche Möglichkeiten gibt es das diese Tabelle nicht mehr blockiert wird!? In der Doku finde ich nichts, bin echt ratlos.
Danke für die Hilfe schonmal im Voraus.
Gruß
Arkadius