QT SQLite Datenbankproblem



  • Hallo zusammen,

    ich bin vor einiger Zeit auf QT umgestiegen und eigentlich recht zufrieden.
    Ich habe meine Anwendung heute das erste Mal an Testpersonen weitergegeben und auf das erste Problem gestoßen.

    Die Konfiguration (und später noch viele andere Daten) werden in einer SQLite Datei gespeichert.
    Auf meinen beiden Entwicklungsrechnern (QT ist installiert) wird die Datenbankdatei (falls sie nicht existiert) beim aufruft von db.open() erstellt. Select und Insert funktionieren wunderbar.

    Jedoch scheint das nur zu funktionieren, wenn QT installiert ist.
    Ist QT nicht installiert wird die SQlite Daeti nicht erstellt. Kopiere ich sie manuell in das Verzeichnis wird sie trotzdem nicht ausgelesen.

    Selbstverständlich habe ich die nötigen Dlls mitgegeben (Qtcore, QTgui, QTsql, mingwm10, libgcc)

    Hier mal der Code in zusammengefasster form:

    QSqlDatabase db;
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("ffdl2.sqlite");
    
        db.open();
        QSqlQuery query;
    
        if(db.isOpen()) //Wenn DB geöffnet wurde
        {
            if(query.exec(QString("SELECT spalte1, spalte2 FROM config WHERE rowid=1")))
            {
                if(query.next())//Auswählen
                {
                    wert1= query.value(0).toString();
                    wert2= query.value(1).toString();
                    }
                }   
            }
            else
            {
                //Erster Start auf diesem computer --> Meldung
            }
        }
        db.close();
    
    QSqlDatabase::removeDatabase("QSQLITE");
    

    Für Hilfe wäre ich sehr dankbar.

    Peter



  • Dann fehlt denen vermutlich der SQLLITE Treiber 🙂

    bei mir ligt der unter /usr/share/qt4/plugins/sqldrivers/libqsqlite.so (und auch noch libqsqlmysql.so) ?



  • Peter_ schrieb:

    Selbstverständlich habe ich die nötigen Dlls mitgegeben (Qtcore, QTgui, QTsql, mingwm10, libgcc)

    Eben nicht alle...
    Du musst natürlich auch die Plugins, die du benötigst (SQL-Treiber, imageplugins, ...) mitliefern.
    http://doc.trolltech.com/4.6/deployment-windows.html#qt-plugins



  • Vielen Dank.

    Ich hatte alles beigefügt nach dem er gefragt hatte und dabei das übersehen.

    Peter


Anmelden zum Antworten