bonjour,

j'essai de créer une application avec une bdd sqlite.
J'ai vraiment eu du mal a trouver comment faire mais a force de persévérer j'ai trouver des exemples sur le net.

Je vous montre mon code.
mon .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
 
#include <QWidget>
#include <QString>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
 
class baseDeDonnees: public QWidget
{
    public :
            baseDeDonnees(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;
};
mon .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
 
#include "baseDeDonnees.h"
#include <QString>
#include <QApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QMessageBox>
#include <QtSql/QSqlError>
#include <QtSql/QSqlDriver>
#include <QtSql/QSqlDriverPlugin>
 
// constructor : initialise the database
baseDeDonnees::baseDeDonnees(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 baseDeDonnees::dbConnexion()
{
    d_db = QSqlDatabase::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!");
    }
}
mon main.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
 
#include <QApplication>
#include <QtGui>
#include "mainwindow.h"
#include <baseDeDonnees.h>
 
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
 
    QString host = "localhost";
    QString dbname = "Pi.db";
    QString username = "root";
    QString pwd = "";
    baseDeDonnees w(host, dbname, username, pwd);
    w.show();
 
 
    MainWindow fenetre;
    fenetre.showMaximized();
 
    return app.exec();
}
A la compilation j'ai plein d'erreurs du genre :
undefined reference to `_imp___ZN12QSqlDatabaseD1Ev'
C:\Users\sebastien\Projet C++\GestionPi-build-desktop\..\GestionPi\baseDeDonnees
Quelqu'un aurait une idée,

merci