Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
qtws26_logo

The Qt Event of the Year: Qt World Summit 2026

Save Your Spot >
Brand Logo
  1. Home
  2. International
  3. French
  4. la base de bonne sur qt
Qt 6.12 LTS is out! See what's new in the release blog

la base de bonne sur qt

Scheduled Pinned Locked Moved Solved French
29 Posts 2 Posters 16.8k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • FortigaF Fortiga

    @SGaist merci pour votre réponse ☺️
    Enfaite je sais pas trop mais j'ai suivie le tutoriel et j'ai tout terminé mais le problème n'a pas changé.
    J'ai le fichier qsqlmysql.dll sur

    C:/Qt/6.6.0/src/windows/plugins/sqldrivers/qsqlmysql.dll
    

    Est-ce que je dois faire encore ?

    SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #12

    Est-ce que la librairie client de MySQL est trouvable au travers de la variable d'environnement PATH ? Celle-ci peut être modifiée dans Qt Creator, dans les paramètres d'exécution du projet.

    Dans tous les cas, démarrer l'application avec la variable d'environnement QT_DEBUG_PLUGINS à 1 permet d'avoir plus d'information sur ce qui se passe.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    FortigaF 1 Reply Last reply
    0
    • SGaistS SGaist

      Est-ce que la librairie client de MySQL est trouvable au travers de la variable d'environnement PATH ? Celle-ci peut être modifiée dans Qt Creator, dans les paramètres d'exécution du projet.

      Dans tous les cas, démarrer l'application avec la variable d'environnement QT_DEBUG_PLUGINS à 1 permet d'avoir plus d'information sur ce qui se passe.

      FortigaF Offline
      FortigaF Offline
      Fortiga
      wrote on last edited by Fortiga
      #13

      @SGaist Merci pour votre réponse
      Il m'affiche plusieurs infos mais c'est ça qui nous intéresse non

      qt.core.plugin.factoryloader: Got keys from plugin méta data Qlist("QPSQL")
      qt.core.plugin.factoryloader: checking directory Pathé "A:/Qt-Projet/build-Pd-Desktop_Qt_6_6_0_MinGW_64_bit-Debug/debug/sqldrivers" ...
      
      QSqlDatabase: QMYSQL driver loaded 
      QSqlDatabase :available drivers: QSLITE QMIMER QODBC QPSQL
      

      Mais si je copie le dll

      C:/Qt/6.6.0/src/windows/plugins/sqldrivers/qsqlmysql.dll
      

      sur

      C:\Qt\6.6.0\mingw_64\plugins\sqldrivers
      

      ça m'affiche

      qt.core.plugin.factoryloader: Got keys from plugin meta data QList("QPSQL")
      qt.core.plugin.factoryloader: checking directory path "A:/Qt-Projet/build-Pd-Desktop_Qt_6_6_0_MinGW_64_bit-Debug/debug/sqldrivers" ...
      qt.core.library: "C:/Qt/6.6.0/mingw_64/plugins/sqldrivers/qsqlmysql.dll" cannot load: Impossible de charger la bibliothèque C:\Qt\6.6.0\mingw_64\plugins\sqldrivers\qsqlmysql.dll : %1 n’est pas une application Win32 valide.
      qt.core.plugin.loader: QLibraryPrivate::loadPlugin failed on "C:/Qt/6.6.0/mingw_64/plugins/sqldrivers/qsqlmysql.dll" : "Impossible de charger la bibliothèque C:\\Qt\\6.6.0\\mingw_64\\plugins\\sqldrivers\\qsqlmysql.dll : %1 n’est pas une application Win32 valide."
      QSqlDatabase: QMYSQL driver not loaded
      QSqlDatabase: available drivers: QSQLITE QMIMER QMARIADB QMYSQL QODBC QPSQL
      

      Merci

      Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #14

        C'est cette étape de copie qui manquait.

        Il faut compiler le plugin pour debug et release et les copier ensuite.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        FortigaF 1 Reply Last reply
        0
        • SGaistS SGaist

          C'est cette étape de copie qui manquait.

          Il faut compiler le plugin pour debug et release et les copier ensuite.

          FortigaF Offline
          FortigaF Offline
          Fortiga
          wrote on last edited by
          #15

          @SGaist merci pour votre reponse
          d.jpg

          j'ai suivi le tutoriel sur doc qt

          Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

          SGaistS 1 Reply Last reply
          0
          • FortigaF Fortiga

            @SGaist merci pour votre reponse
            d.jpg

            j'ai suivi le tutoriel sur doc qt

            SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #16

            Ce sont les instructions pour Qt 5. Il faut suivre celles pour Qt 6.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            FortigaF 1 Reply Last reply
            0
            • SGaistS SGaist

              Ce sont les instructions pour Qt 5. Il faut suivre celles pour Qt 6.

              FortigaF Offline
              FortigaF Offline
              Fortiga
              wrote on last edited by
              #17

              @SGaist Non, je me suis trompé. C'est la version 6 que j'ai suivie.

              Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #18

                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.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                FortigaF 1 Reply Last reply
                0
                • SGaistS SGaist

                  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.

                  FortigaF Offline
                  FortigaF Offline
                  Fortiga
                  wrote on last edited by
                  #19

                  @SGaist En fait je viens de tout recommence
                  d.jpg

                  et c'est énervent

                  Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

                  SGaistS 1 Reply Last reply
                  0
                  • FortigaF Fortiga

                    @SGaist En fait je viens de tout recommence
                    d.jpg

                    et c'est énervent

                    SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #20

                    @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.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    FortigaF 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      @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.

                      FortigaF Offline
                      FortigaF Offline
                      Fortiga
                      wrote on last edited by Fortiga
                      #21

                      @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 sur

                      C:/Qt/6.6.0/mingw_64/bin
                      

                      Et le programme à compilé sans erreur, mais il m'affiche
                      d.jpg

                      Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

                      SGaistS 1 Reply Last reply
                      0
                      • FortigaF Fortiga

                        @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 sur

                        C:/Qt/6.6.0/mingw_64/bin
                        

                        Et le programme à compilé sans erreur, mais il m'affiche
                        d.jpg

                        SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #22

                        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 ?

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        FortigaF 1 Reply Last reply
                        0
                        • SGaistS SGaist

                          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 ?

                          FortigaF Offline
                          FortigaF Offline
                          Fortiga
                          wrote on last edited by Fortiga
                          #23

                          @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();
                          }
                          
                          

                          message.jpg

                          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

                          Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

                          SGaistS 1 Reply Last reply
                          0
                          • FortigaF Fortiga

                            @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();
                            }
                            
                            

                            message.jpg

                            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

                            SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #24

                            @Fortiga said in la base de bonne sur qt:

                            @SGaist Merci pour votre réponse
                            Le voici ça m'a surpris

                            
                            

                            Je crois que le problème viens de la

                            Cette fois-ci, il manque des données :-D

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            FortigaF 1 Reply Last reply
                            0
                            • SGaistS SGaist

                              @Fortiga said in la base de bonne sur qt:

                              @SGaist Merci pour votre réponse
                              Le voici ça m'a surpris

                              
                              

                              Je crois que le problème viens de la

                              Cette fois-ci, il manque des données :-D

                              FortigaF Offline
                              FortigaF Offline
                              Fortiga
                              wrote on last edited by
                              #25

                              @SGaist désolé j'avais eu un problème de connexion
                              Sinon je viens de corriger, sur cpp ça marche mais pas sur qml

                              Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

                              SGaistS 1 Reply Last reply
                              0
                              • FortigaF Fortiga

                                @SGaist désolé j'avais eu un problème de connexion
                                Sinon je viens de corriger, sur cpp ça marche mais pas sur qml

                                SGaistS Offline
                                SGaistS Offline
                                SGaist
                                Lifetime Qt Champion
                                wrote on last edited by
                                #26

                                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.

                                Interested in AI ? www.idiap.ch
                                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                FortigaF 1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  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.

                                  FortigaF Offline
                                  FortigaF Offline
                                  Fortiga
                                  wrote on last edited by Fortiga
                                  #27

                                  @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
                                  er.jpg

                                  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

                                  Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

                                  SGaistS 1 Reply Last reply
                                  0
                                  • FortigaF Fortiga

                                    @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
                                    er.jpg

                                    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

                                    SGaistS Offline
                                    SGaistS Offline
                                    SGaist
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #28

                                    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 ?

                                    Interested in AI ? www.idiap.ch
                                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    FortigaF 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      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 ?

                                      FortigaF Offline
                                      FortigaF Offline
                                      Fortiga
                                      wrote on last edited by
                                      #29

                                      @SGaist non
                                      c'était cela le problème.
                                      merci infiniment

                                      Juste pour aller de l'avant et apprendre des choses, lorsque vous voulez devenir une légende, cela ne se fait pas du jour au lendemain.

                                      1 Reply Last reply
                                      0
                                      • FortigaF Fortiga has marked this topic as solved on

                                      • Login

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • Users
                                      • Groups
                                      • Search
                                      • Get Qt
                                      • Unsolved