IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Discussion :

Ouverture base de données SQLite avec QT


Sujet :

Bases de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Ouverture base de données SQLite avec QT
    Bonsoir,
    Je dois faire une petite application dans laquelle il faut que je me connecte à une base de données. J'ai crée une base de données avec sqlite et j'aimerai maintenant me connecter dessus. Je reçois toujours une réponse : "Drivers not loaded".

    Voici mon code .h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    #ifndef DBEDWIGE_H
    #define DBEDWIGE_H
     
    #include <QWidget>
    #include <QString>
    #include <QSqlDatabase>
    #include <QSqlQuery>
     
    class dbEdwige: public QWidget
    {
        public :
                // constructor : initialise the database
                dbEdwige(QString, QString, QString, QString );
     
                [...]
        private :
                // function : create connexion to the database
                void dbConnexion();
     
                // parameters
                QSqlDatabase d_db;
                QString d_host, d_dbname, d_username, d_pwd;
    };
    #endif // DBEDWIGE_H
    Et voici mon code .cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    #include "dbEdwige.h"
     
    #include <QString>
    #include <QApplication>
    #include <QSqldatabase>
    #include <QSqlquery>
    #include <QMessageBox>
    #include <QSqlError>
    #include <QSqlDriver>
    #include <QSqlDriverPlugin>
     
    // constructor : initialise the database
    dbEdwige::dbEdwige(QString host, QString dbname, QString username, QString pwd ): QWidget(),
    d_host(host), d_dbname(dbname), d_username(username), d_pwd(pwd)
    {
            dbConnexion();
    }
     
    [...]
     
    // function : create connexion to the database
    void dbEdwige::dbConnexion()
    {
        d_db.addDatabase("QSQLITE");
        d_db.setHostName(d_host);
        d_db.setDatabaseName(d_dbname);
        d_db.setUserName(d_username);
        d_db.setPassword(d_pwd);
     
        if ( !d_db.open() )
        {
             QMessageBox::warning(this, "Erreur Ouverture", d_db.lastError().text());
        }
        else
        {
            QMessageBox::information(this, "Bonne Ouverture", "Connexion BD Ok!");
        }
    }
    Dans mon main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #include "dbEdwige.h"
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
     
        QString host = "localhost";
        QString dbname = "dbEdwige.db";
        QString username = "root";
        QString pwd = "";
        dbEdwige w(host, dbname, username, pwd);
        w.show();
        return a.exec();
    }
    Est-ce qu'il y a une erreur dans mon code ?

    Je ne suis pas sûre d'avoir bien créé ma base de données :
    J'ai en fait executé dans la console : sqlite3 /dbEdwige.sqlite
    Puis j'ai fait mes "CREATE [...]"
    Comme QT veut des fichiers .db j'ai modifié mon fichier .sqlite en .db.
    Est-ce que cela peut venir de là ?

    Merci de bien vouloir m'aider (cela fait maintenant environ 10h que j'essaye de trouver une solution!).

  2. #2
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Essaye avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    d_db = QSqlDatabase::addDatabase("QSQLITE");
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bien merci beaucoup ça marche maintenant!
    Et dire que j'ai passé tout ce temps à chercher des solutions bien plus compliquées

  4. #4
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Tu sauras où poser tes questions la prochaine fois !
    Il ne faut pas hésiter.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Probleme d'ouverture base de données conçue avec access2003
    Par betacrack dans le forum Access
    Réponses: 9
    Dernier message: 10/06/2015, 21h12
  2. Créer un base de donnée SQLite avec Entity Framework
    Par RSS13 dans le forum Entity Framework
    Réponses: 5
    Dernier message: 20/05/2015, 14h23
  3. Lire une base de donnée sqlite avec sql.js
    Par clo_ljk dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/08/2014, 13h26
  4. connexion entre la base de donnée sqlite et eclipse-java avec une plateforme android
    Par amira_chouk dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 20/04/2010, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo