la base de bonne sur qt
-
@Fortiga il faut le faire depuis un répertoire en dehors des sources. Et il ne semble pas y avoir de spécification pour le type de build.
-
@SGaist merci pour votre réponse
Enfaite j'ai tout récompense a zéro et je l'ai terminé mais cette fois j'ai copié libmysql.dll surC:/Qt/6.6.0/mingw_64/bin
Et le programme à compilé sans erreur, mais il m'affiche
Ce flot de message est des plus surprenants...
Est-ce qu'il se passe la même chose avec une application minimal qui se contente de se connecter à la base de donnée ?
-
Ce flot de message est des plus surprenants...
Est-ce qu'il se passe la même chose avec une application minimal qui se contente de se connecter à la base de donnée ?
@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
-
@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
-
@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
-
@SGaist désolé j'avais eu un problème de connexion
Sinon je viens de corriger, sur cpp ça marche mais pas sur qmlQML 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.
-
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 -
@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 pasEst-ce qu'il y a réellement une base de donnée nommée test ?
Est-ce que l'utilisateur y a accès ?
Est-ce que l'utilisateur y a accès en passant par localhost ? -
Est-ce qu'il y a réellement une base de donnée nommée test ?
Est-ce que l'utilisateur y a accès ?
Est-ce que l'utilisateur y a accès en passant par localhost ? -
F Fortiga has marked this topic as solved on