Problem mit löschen von SQLite Datenbank

Alles rund um die Programmierung mit Qt
Antworten
refresh77
Beiträge: 11
Registriert: 8. Januar 2008 14:51

Problem mit löschen von SQLite Datenbank

Beitrag von refresh77 »

Hallo.
Ich habe eine Datenbankprogramm geschrieben und jetzt hab ich mir zwei kleine Import / Export dialoge für die Datenbank gebaut. Nur leider darf ich die Datenbank nicht löschen, weil ich angeblich noch drauf zugreife..


ich Öffne die Datenbank so:
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("super.db");
if (!db.open())
...

schließe sie So:
QStringList conList;
QString strConName;
conList=db.connectionNames();
strConName=conList.at(0);
db.removeDatabase(strConName);

Die Funktion removeDatabase gibt auch ture zurrück und es ist keine weitere Datenbankverbindung in der Liste..
QSqlQuery's sollten eigentlich auch alle nicht mehr existent sein, außerdem wurde ja auch die Datenbank geschlossen... Hat jemand ne Idee was da falsch läuft?^^
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Habe gerade auch so was ähnliches gemacht - allerdings rufe ich noch QSqlDatabase.close() auf bevor ich sie entferne. Danach geht es bei mir.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
refresh77
Beiträge: 11
Registriert: 8. Januar 2008 14:51

Beitrag von refresh77 »

hab ich gerade mal versucht, leider geht das nicht..
Ka wo das Problem liegt, ich werd das ganze mal an ner anderen stelle testen..
refresh77
Beiträge: 11
Registriert: 8. Januar 2008 14:51

Beitrag von refresh77 »

Ich habe die QSqlDatabase als static deklariert^^, macht das wohl die Probleme? ^^
static QSqlDatabase db;
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Sowas muss man nicht als static deklarieren - immer QSqldatabase::database() benutzen.
Ich habe einfach die sql-demo von qt umgebaut damit ich dort auch ein disconnect machen kann - das funktioniert. Danach kann ich die Tabelle droppen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Undefined
Beiträge: 34
Registriert: 19. Oktober 2006 17:12

Beitrag von Undefined »

Lese dir nochmal die Dokumentation von QSqlDatabase durch, und hier speziel das Thema threads, dann weist du warum es nicht geht ;)
refresh77
Beiträge: 11
Registriert: 8. Januar 2008 14:51

Beitrag von refresh77 »

The connection defined above is a nameless connection. It is the default connection and can be accessed using database() later on:

QSqlDatabase db = QSqlDatabase::database();
ops :D, danke...
Doku schauen hilft echt^^
Antworten