Bonjour,
Je suis sur linux et quand je compile mon programme pour utiliser ma base de donnée, ça me donne :
Voici le code de l'application
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 QSqlQuery::exec: database not open Echec de la requête QSqlError("", "Driver not loaded", "Driver not loaded")
le bdd.cpp
le bdd.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 #include "bdd.h" using namespace std; BDD::BDD() { bdd = QSqlDatabase::addDatabase("QMYSQL"); // Définition des paramètres de connexion à la base de données bdd.setHostName("localhost"); // @ip serveur MySQL bdd.setDatabaseName("X"); // Nom de la base bdd.setUserName("X"); // Nom utilisateur bdd.setPassword("X"); // Mot de passe bdd.open(); if (bdd.open()) { QMessageBox::information(0, "Base de données", "Connexion réussie"); } else { QMessageBox::critical(0, "Base de données", "Erreur de connexion : " + bdd.lastError().text()); } }
le .pro
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 #ifndef BDD_H #define BDD_H #include <QtSql> #include <QApplication> #include <QVariant> #include <QString> #include <QMessageBox> #include <QDir> using namespace std; class BDD { private: QSqlDatabase bdd; QSqlQuery requete; public: BDD(); ~BDD(); }; #endif // BDD_H
Code qt-pro : 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
40
41
42
43
44
45 QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = X TEMPLATE = app QT += sql QT += core # The following define makes your compiler emit warnings if you use # any feature of Qt which has been marked as deprecated (the exact warnings # depend on your compiler). Please consult the documentation of the # deprecated API in order to know how to port your code away from it. DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 CONFIG += c++11 SOURCES += \ ajoute.cpp \ bdd.cpp \ main.cpp \ mainwindow.cpp \ outilaffichage.cpp \ supprimere.cpp HEADERS += \ ajoute.h \ bdd.h \ mainwindow.h \ outilaffichage.h \ supprimere.h FORMS += \ ajoute.ui \ mainwindow.ui \ supprimere.ui # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target
le main.cpp
Voila si quelqu'un a une idée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include "mainwindow.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }![]()
Partager