la base de bonne sur qt
-
Pour autant que je me souvienne correctement, cmake ne fait pas les deux compilations en même temps.
Pour assurer de tout avoir, je recommande de faire un second build avec
-DCMAKE_BUILD_TYPE=Debug
ajouté lors de la configuration. -
@SGaist Merci pour votre réponse
Le voici ça m'a surpris#include "qsqldatabase.h" #include <QApplication> #include <QMessageBox> int main(int argc, char *argv[]) { QApplication a(argc, argv); QMessageBox message; QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); //db.setDatabaseName("test"); db.setUserName("WinAdmin"); db.setPassword("MySQL@2022"); bool ok = db.open(); if(ok) { message.information(nullptr, "Message", "Base de bonne charger"); } else { message.critical(nullptr, "erreur", "Impossible d'ouvrire"); } return a.exec(); }
C:/Qt/6.6.0/mingw_64/include/QtCore/qmetatype.h\u0000qRegisterNormalizedMetaType was called with a not normalized type name, please call qRegisterMetaType instead
Je crois que le problème viens de la
-
@Fortiga said in la base de bonne sur qt:
@SGaist Merci pour votre réponse
Le voici ça m'a surprisJe crois que le problème viens de la
Cette fois-ci, il manque des données :-D
-
QML n'a pas d'accès direct pour les bases de données. Par contre ce qu'il est possible de faire est de créer un model basé sur QSqlTableModel par example pour accéder aux tables nécessaire. Mais cela dépend de ce que doit faire la partie QML.
-
@SGaist Merci pour votre réponse 😊
Une dernière question
Dans mon code je peux pas définir le nom de la base de données#include "qsqldatabase.h" #include <QApplication> #include <QMessageBox> int main(int argc, char *argv[]) { QApplication a(argc, argv); QMessageBox message; QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL" , "DATABASE"); db.setHostName("localhost"); db.setDatabaseName("test"); db.setUserName("WinAdmin"); db.setPassword("MySQL@2022"); bool ok = db.open(); QString ad = db.databaseName(); QString fr = db.connectionName(); if(ok) { message.information(nullptr, "Message", "Base de bonne charger"); message.information(nullptr, fr, ad); } else { message.critical(nullptr, "erreur", "Impossible d'ouvrire"); }
Ça m'affiche des erreurs genre
Mais si j'efface
#include "qsqldatabase.h" #include <QApplication> #include <QMessageBox> int main(int argc, char *argv[]) { QApplication a(argc, argv); QMessageBox message; QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL" , DATABASE"); db.setHostName("localhost"); //db.setDatabaseName("test"); db.setUserName("WinAdmin"); db.setPassword("MySQL@2022"); bool ok = db.open(); QString ad = db.databaseName(); QString fr = db.connectionName(); if(ok) { message.information(nullptr, "Message", "Base de bonne charger"); message.information(nullptr, fr, ad); } else { message.critical(nullptr, "erreur", "Impossible d'ouvrire"); } return a.exec(); }
Ça marche
Je pige pas -