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
Forum Updated to NodeBB v4.3 + New Features

la base de bonne sur qt

Scheduled Pinned Locked Moved Solved French
29 Posts 2 Posters 7.7k 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

    Qu'est-ce que "toujours rien" ? La même erreur à la compilation ? Une autre erreur ?

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

    @SGaist Non tout semble bien terminé il m'a afficher aucun erreur.
    Mais quand je compilé le programme il a aucun différence il m'affiche

    QSqlDatabase: MySQL driver not loaded
    QSqlDatabase: available drivers: QSQLITE QODBC QPSQL
    "Échec de connexion Driver not loaded Driver not loaded."
    

    Rien a changé

    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 Non tout semble bien terminé il m'a afficher aucun erreur.
      Mais quand je compilé le programme il a aucun différence il m'affiche

      QSqlDatabase: MySQL driver not loaded
      QSqlDatabase: available drivers: QSQLITE QODBC QPSQL
      "Échec de connexion Driver not loaded Driver not loaded."
      

      Rien a changé

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

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

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

                                          • Login

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