Configuration du pilote SQLite
Bonjour,
Actuellement, je souhaiterais me connecter à ficier .db de SQLite
Voici mon code :
Code:
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 40
| #include "Selection.h"
#include <QApplication>
#include <QPushButton>
#include <iostream>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QMessageBox>
#include <QSqlError>
#include <QtSql>
using namespace std;
Selection::Selection() : QWidget()
{
setFixedSize(150,150);
db.addDatabase("QSQLITE");
db.setDatabaseName("bd1.bd");
if (!db.open()) {
qDebug("Error occurred opening the database");
qDebug() << db.lastError();
return;
}
QSqlQuery query(db);
query.exec("SELECT * FROM Reponses");
query.next();
/* Récupère les valeurs dans des variables. */
QString Nom = query.value(0).toString();
QPushButton monBouton("ok");
monBouton.setText(Nom);
} |
J'ai l'erreur suivante :
Error occurred opening the database
QSqlError("", "Driver not loaded", "Driver not loaded")
J'ai bien installé SQLite3, et je n'arrive pas à trouver de démarches à suivre pour lier le plugin SQLite à Qt SOUS UBUNTU (pour Windows, il y en a plein).
Merci bien ;).
connection à la db SQLite
Bonjour,
dans ton fichier ".pro" tu dois rajouter la ligne QT += sql.
D'autre part, dans ton code tu dois te connecter à ta base de la façon suivante ( sans oublier les includes nécessaires) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
#include <QStringList>
#include <QSqlDatabase>
#include <QSqlQuery>
QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE"); // ajout d'une nouvelle BDD //
db.setDatabaseName("toto.db"); // le nom de ta base //
if (! db.open() ){ exit(-1)}; // on test si la base est ouverte ; si elle n'est ouverte on quitte l'application //
//...traitement des données //
db.commit(); // fin des opérations //
toto.close(); // fermeture de la bdd // |
J'espère t'avoir aidé :)
Cdt,
KM