Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. French
  4. la base de bonne sur qt
Qt 6.11 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.2k 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.
  • SGaistS SGaist

    @Fortiga est-ce que le plugin a été installé avec les autres ?

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

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

    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 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 Extensions
                                        • Unsolved