In diesem Fall nicht, die Datenbank enthaellt Bilder, und wir moechten nicht, dass die script-kiddies die ohne Probleme ins Internet stellen koennen. Ausserdem werden viele IT-Schueler das Programm in die Haende bekommen, und da moechte ich denen schon eine Huerde bauen damit sich die ein wenig mit Programmierung auseinandersetzen, wenn sie an die Bilder ranwollen.solarix hat geschrieben:Security by Obscurity .. meiner Meinung nach unsinnig.Die Reihenfolge der Auswertung der Operanden ist in C++ undefiniert (d.h. der Compiler kann da tun was er möchte). next() muss da also nicht zwingend nach exec() ausgeführt werden..Code: Alles auswählen
Debug() << query.exec() << " " << query.next() << " " << query.executedQuery() << " " << query.lastError();
Das heisst, wenn ich etwas auf diese Art in den Stream klopfe muss ich nicht unbedingt die Reihenfolge eingehalten werden? Ist das der Grund, warum manchmal der cerr den cout ueberholt? Najaokay, ich bastel das mal in Einzelanweisungen um. Gesagt getan:
Code: Alles auswählen
if ( !query.exec() ) qDebug() << "exec failed";
if ( !query.next() ) qDebug() << "next failed";
qDebug() << query.executedQuery() << " " << query.lastError();Vielen Dank soweit
Eine Frage hab ich aber noch: woher kommt
Die Meldung kommt beim Beenden, ich hab schon ein db.close() in den der Hauptklasse eingefuegt, aber das aendert nichts. Die anderen Klassen, die die Datenbank nutzen, funktionieren soweit normal. Ein wirkliches Problem ist die Meldung damit nicht, aber es ist im Endeffekt ein Fehler und darum muss er weg.QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.