Cet article présente principalement les informations pertinentes sur l'utilisation de Qt pour se connecter à MySQL dans un environnement Windows. Les amis qui en ont besoin peuvent s'y référer
Si l'application a uniquement besoin de se connecter au base de données distante, alors il n'y a pas besoin de connexion locale. Pour installer MySQL, il vous suffit de trouver les deux bibliothèques de liens dynamiques libmysql.dll et libmysqld.dll fournies par MySQL, et de les ajouter à l'installation de Qt. répertoire 5.9mingw53_32bin ; par défaut, Qt est livré avec qsqlmysql.dll et qsqlmysqld.dll (le chemin du fichier est le répertoire d'installation de Qt 5.9mingw53_32pluginssqldrivers) si les deux correspondent, Qt peut se connecter avec succès à MySQL.
(La version de Qt que j'ai installée est Qt 5.9.0 mingw53_32. Certains des chemins mentionnés dans l'article sont les chemins sur ma machine locale et doivent être modifiés de manière appropriée)
1. Testez si Qt et MySQL peuvent se connecter normalement
En supposant que libmysql.dll et libmysqld.dll ont été ajoutés au répertoire d'installation de Qt 5.9mingw53_32bin, effectuez le test suivant.
•Créez une nouvelle application Qt Widgets et modifiez le code de main.cpp pour :
#include "mainwindow.h" #include <QApplication> #include <QtSql> #include <QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); //建立连接 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setPort(3306); db.setDatabaseName("mysql"); db.setUserName("root"); db.setPassword("yourPassword"); //设置数据库连接账号的密码 bool ok = db.open(); if(ok) qDebug()<<"OK"; else qDebug()<<"False"; return a.exec(); }
•Construisez et exécutez le projet et affichez la sortie de l'application
Si la sortie est OK, c'est tout. , la connexion entre Qt et MySQL est normale ; si False est affiché, ce n'est pas inattendu car les versions de libmysql.dll, libmysqld.dll et qsqlmysql.dll, qsqlmysqld.dll ne correspondent pas ! qsqlmysql.dll et qsqlmysqld.dll doivent être modifiés.
2. Ajoutez les fichiers libmysql.dll et libmysqld.dll
de MySQL (Remarque : Qt msvc2015_64 peut utiliser les versions 32
et 64 bits des fichiers MySQL. Qt mingw53_32 ne peut utiliser que la version 32 bits des fichiers MySQL)
Comme mentionné précédemment, si l'application a uniquement besoin de se connecter à la base de données distante, alors il n'est pas nécessaire d'installer MySQL localement, mais uniquement les bibliothèques de liens dynamiques libmysql. dll et libmysqld fournis par MySQL .dll. Alors si MySQL n'est pas installé, comment obtenir les deux fichiers de la bibliothèque de liens dynamiques ? Vous pouvez faire ceci :
•Copiez ces deux fichiers depuis la machine sur laquelle MySQL est installé.
•Installez temporairement MySQL localement, puis conservez les fichiers requis et désinstallez MySQL.
Pour installer MySQL, vous pouvez aller sur le site officiel pour télécharger le package d'installation, mais je n'aime pas faire cela car il y a maintenant trop de composants d'installation compliqués de MySQL, et beaucoup de choses sont inutiles. Il est recommandé de télécharger la version correspondante depuis certains sites miroir open source, tels que Tuna et USTC. Après avoir temporairement installé MySQL, ne vous précipitez pas pour le désinstaller. Il sera utilisé plus tard lors de la compilation du pilote MySQL.
3. Recompiler qsqlmysql.dll, qsqlmysqld.dll
La compilation de Qt nécessite le code source de Qt pour le pilote MySQL. Pour obtenir le code source de Qt, vous devez le faire. Vous pouvez utiliser MaintenanceTool.exe télécharger Src, le chemin du fichier de projet utilisé pour compiler le pilote est le répertoire d'installation de Qt 5.9Srcqtbasesrcpluginssqldriversmysql. Le code source fait presque 2 Go et les fichiers de projet nécessaires à la compilation du pilote font environ des dizaines de Mo. Si l'espace de stockage et la vitesse du réseau ne sont pas suffisants, il est recommandé de télécharger uniquement
qtbase-opensource-src-. 5.9.0.zip, qui est requis pour les projets dans qtbase-opensource-src-5.9.0srcpluginssqldriversmysql.
Utilisez Qt pour ouvrir le fichier projet utilisé pour compiler le pilote mentionné ci-dessus, et ajoutez ces deux phrases à la fin de mysql.pro :
INCLUDEPATH += répertoire d'installation mysql include
LIBS += -Lmysql Répertoire d'installation lib -llibmysql
La construction et l'exécution du projet généreront un répertoire pluginsqldrivers sous le lecteur C, qui contient deux fichiers : qsqlmysql.dll et qsqlmysqld.dll Copiez-les pour écraser les deux fichiers d'origine. . Testez à nouveau la connexion entre Qt et MySQL. Est-ce que cela a réussi ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!