SQLite: In zwei Tabellen gleichzeitig löschen (gelöst)

Alles rund um die Programmierung mit Qt
Antworten
liupo
Beiträge: 7
Registriert: 7. März 2013 08:33

SQLite: In zwei Tabellen gleichzeitig löschen (gelöst)

Beitrag von liupo »

Hallo,
ich möchte in meiner eigenen QT-GUI für meine SQLite-Datenbank Datensätze löschen können, jedoch sollen die Daten natürlich konsistent bleiben. D.h. wenn Datensätze in einer Tabelle gelöscht werden, müssen auch die Daten in der damit verknüpften n:m-Tabelle gelöscht werden.

QSqlQuery akzeptiert ja leider nur ein SQL-Statement, sodass dieses Löschen über 2 Tabellen nicht so einfach geht.

Ich habe mich bereits mit Triggern, wie hier http://www.rcs-comp.com/site/index.php/ ... _generator versucht, aber dadurch auch keinen Erfolg erzielen können.

Auch ON DELETE CASCADE als Eigenschaft der Spalten scheint nicht zu funktionieren.

Ich hoffe jemand hat das gleiche Problem und eine gute Lösung gefunden, oder kann mir Tipps geben :<
Ich nutze SQLite 3.7.9
Zuletzt geändert von liupo am 1. April 2013 23:43, insgesamt 1-mal geändert.
odt
Beiträge: 128
Registriert: 12. August 2010 11:49
Kontaktdaten:

Re: SQLite: In zwei Tabellen gleichzeitig löschen

Beitrag von odt »

2 SQL's = 2 QSqlQuery und das ganze in eine Transaction verpacken.
ODT Informatik GmbH, Reto Tschofenig
liupo
Beiträge: 7
Registriert: 7. März 2013 08:33

Re: SQLite: In zwei Tabellen gleichzeitig löschen

Beitrag von liupo »

Vielen Dank,
bzgl. der Transactions hatte ich mich darin verrannt, BEGIN TRANSACTION und COMMIT etc. in die queries selbst zu schreiben, was jedoch nicht funktionierte.
Mit db.transaction(); und db.commit(); funktioniert es nun.
Antworten