la base de bonne sur qt
Solved
French
-
@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 -