Heim  >  Artikel  >  Datenbank  >  Wie verwende ich eine Qt-Verbindung für MySQL in einer Windows-Umgebung?

Wie verwende ich eine Qt-Verbindung für MySQL in einer Windows-Umgebung?

黄舟
黄舟Original
2017-07-17 14:31:271265Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur Verwendung von Qt zum Herstellen einer Verbindung zu MySQL in der Windows-Umgebung vorgestellt. Freunde, die es benötigen, können darauf zurückgreifen.

Wenn die Anwendung nur eine Verbindung herstellen muss Wenn Sie eine entfernte Datenbank verwenden, ist keine lokale Verbindung erforderlich. Um MySQL zu installieren, müssen Sie nur die beiden von MySQL bereitgestellten dynamischen Linkbibliotheken libmysql.dll und libmysqld.dll finden und sie zur Qt-Installation hinzufügen Verzeichnis 5.9mingw53_32bin; standardmäßig enthält Qt kompilierte qsqlmysql.dll und qsqlmysqld.dll (der Dateipfad ist das Qt-Installationsverzeichnis 5.9mingw53_32pluginssqldrivers); wenn die beiden übereinstimmen, kann Qt erfolgreich eine Verbindung zu MySQL herstellen.

(Die Qt-Version, die ich installiert habe, ist Qt 5.9.0 mingw53_32. Einige der im Artikel genannten Pfade sind die Pfade auf meinem lokalen Computer und müssen entsprechend geändert werden)

1. Testen Sie, ob Qt und MySQL normal eine Verbindung herstellen können

Unter der Annahme, dass libmysql.dll und libmysqld.dll zum Qt-Installationsverzeichnis 5.9mingw53_32bin hinzugefügt wurden, führen Sie den folgenden Test durch.

•Erstellen Sie eine neue Qt Widgets-Anwendung und ändern Sie den Code von main.cpp wie folgt:

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

•Erstellen und führen Sie das Projekt aus und sehen Sie sich die Anwendungsausgabe an
Wenn die Ausgabe ist OK, das ist es. Die Verbindung zwischen Qt und MySQL ist normal. Wenn False ausgegeben wird, ist dies nicht unerwartet, da die Versionen von libmysql.dll, libmysqld.dll und qsqlmysql.dll, qsqlmysqld.dll nicht übereinstimmen! qsqlmysql.dll und qsqlmysqld.dll müssen geändert werden.

2. Fügen Sie MySQLs libmysql.dll und libmysqld.dll hinzu

(Hinweis: Qt msvc2015_64 kann 32
und 64-Bit-Versionen von MySQL-Dateien verwenden. Qt mingw53_32 kann nur die 32-Bit-Version von MySQL-Dateien verwenden)
Wie bereits erwähnt: Wenn die Anwendung nur eine Verbindung zur Remote-Datenbank herstellen muss, muss MySQL nicht lokal installiert werden, sondern nur die dynamischen Linkbibliotheken libmysql. dll und libmysqld, bereitgestellt von MySQL. Wenn MySQL nicht installiert ist, wie erhält man dann die beiden Dynamic Link Library-Dateien? Sie können dies tun:
•Kopieren Sie diese beiden Dateien von der Maschine, auf der MySQL installiert ist.
•Installieren Sie MySQL vorübergehend lokal, behalten Sie dann die erforderlichen Dateien und deinstallieren Sie MySQL.

Um MySQL zu installieren, können Sie auf der offiziellen Website das Installationspaket herunterladen, aber ich mache das nicht gerne, weil es jetzt zu viele und komplizierte MySQL-Installationskomponenten gibt und viele Dinge unnötig sind. Es wird empfohlen, die entsprechende Version von einigen Open-Source-Mirror-Sites wie Tuna und USTC herunterzuladen. Nachdem Sie MySQL vorübergehend installiert haben, sollten Sie es nicht überstürzen. Es wird später beim Kompilieren des MySQL--Treibers verwendet.

3. Kompilieren Sie qsqlmysql.dll, qsqlmysqld.dll neu

Das Kompilieren von Qt erfordert den Quellcode von Qt für den MySQL-Treiber Sie können MaintenanceTool.exe zum Herunterladen von Src verwenden. Der zum Kompilieren des Treibers verwendete Projektdateipfad ist das Qt-Installationsverzeichnis 5.9Srcqtbasesrcpluginssqldriversmysql. Der Quellcode ist fast 2 GB groß und die zum Kompilieren des Treibers erforderlichen Projektdateien sind etwa zehn MB groß. Wenn der Speicherplatz und die Netzwerkgeschwindigkeit nicht ausreichen, wird empfohlen, nur
qtbase-opensource-src- herunterzuladen. 5.9.0.zip, erforderliche Projekte in qtbase-opensource-src-5.9.0srcpluginssqldriversmysql.

Öffnen Sie mit Qt die Projektdatei, die zum Kompilieren des oben genannten Treibers verwendet wird, und fügen Sie diese beiden Sätze am Ende von mysql.pro hinzu:
INCLUDEPATH += MySQL-Installationsverzeichnis include
LIBS += -Lmysql Installationsverzeichnis lib -llibmysql

Durch das Erstellen und Ausführen des Projekts wird das Pluginsqldrivers-Verzeichnis unter dem Laufwerk C generiert, das zwei Dateien enthält: qsqlmysql.dll und qsqlmysqld.dll. Kopieren Sie sie, um die beiden ursprünglichen Dateien zu überschreiben. . Testen Sie die Verbindung zwischen Qt und MySQL erneut.

Das obige ist der detaillierte Inhalt vonWie verwende ich eine Qt-Verbindung für MySQL in einer Windows-Umgebung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn