ホームページ  >  記事  >  データベース  >  Windows 環境で MySQL に Qt 接続を使用するにはどうすればよいですか?

Windows 環境で MySQL に Qt 接続を使用するにはどうすればよいですか?

黄舟
黄舟オリジナル
2017-07-17 14:31:271318ブラウズ

この記事では主に、Qt を使用して Windows 環境で MySQL に接続するための関連情報を紹介します。必要な方は参考にしてください

アプリケーションがリモート データベースに接続する必要があるだけの場合は、 する必要はありません。 MySQL をローカルにインストールするには、MySQL プロバイダーを見つけるだけで済みます。 2 つのダイナミック リンク ライブラリ、libmysql.dll と libmysqld.dll が、デフォルトで Qt インストール ディレクトリ 5.9mingw53_32bin に追加されます。Qt には、コンパイルされた qsqlmysql.dll と qsqlmysqld.dll が付属しています。 (ファイル パスは Qt インストール ディレクトリ 5.9mingw53_32pluginssqldrivers です); この 2 つが一致すると、Qt は MySQL に正常に接続できます。

(私がインストールした Qt のバージョンは Qt 5.9.0 mingw53_32 です。記事で言及されているパスの一部はローカル マシン上のパスであり、適切に変更する必要があります)

1. Qt と MySQL が接続できるかどうかをテストします。通常

Qt インストールディレクトリ 5.9mingw53_32bin に libmysql.dll と libmysqld.dll が追加されているものとして、以下のテストを実施します。

•新しい Qt ウィジェット アプリケーションを作成し、main.cpp のコードを次のように変更します。

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

•プロジェクトをビルドして実行し、アプリケーションの出力を確認します

出力が OK であれば、それで完了です。通常; 出力が False の場合は、libmysql.dll、libmysqld.dll と qsqlmysql.dll、qsqlmysqld.dll のバージョンが一致しないためです。 qsqlmysql.dll および qsqlmysqld.dll を変更する必要があります。

2. MySQL の libmysql.dll と libmysqld.dll を追加します

(注: Qt msvc2015_64 は 32

ビット バージョンと 64 ビット バージョンの MySQL ファイルを使用できます。Qt mingw53_32 は 32 ビット バージョンの MySQL ファイルのみを使用できます)
前に、アプリケーションがリモート データベースに接続するだけでよい場合は、MySQL をローカルにインストールする必要はなく、MySQL が提供するダイナミック リンク ライブラリ libmysql.dll と libmysqld.dll を使用するだけでよいと述べました。では、MySQL をインストールしない場合、2 つのダイナミック リンク ライブラリ ファイルを入手するにはどうすればよいでしょうか?これを行うことができます:
•これら 2 つのファイルを MySQL がインストールされているマシンからコピーします。
•MySQL をローカルに一時的にインストールし、必要なファイルを保存して MySQL をアンインストールします。

MySQL をインストールするには、公式 Web サイトにアクセスしてインストール パッケージをダウンロードできますが、現在は MySQL インストール コンポーネントが多すぎて複雑で、多くのものが不必要であるため、これを行うのは好きではありません。 Tuna や USTC などのオープン ソースのミラー サイトから対応するバージョンをダウンロードすることをお勧めします。 MySQL を一時的にインストールした後は、後で MySQL

ドライバーをコンパイルするときに使用されますので、急いでアンインストールしないでください。

3. qsqlmysql.dll、qsqlmysqld.dll を再コンパイルします

Qt のコンパイル MySQL ドライバーに関しては、Qt ソース コードを入手する必要があります。MaintenanceTool.exe を使用して Src をダウンロードし、コンパイルします。ドライバーによって使用されるプロジェクト ファイルのパス。Qt 5.9Srcqtbasesrcpluginssqldriversmysql のインストール ディレクトリ。ソース コードのサイズはほぼ 2G で、ドライバーのコンパイルに必要なプロジェクト ファイルは約数十 MB あり、ストレージ容量とネットワーク速度が十分でない場合は、

qtbase-opensource-src-5.9 のみをダウンロードすることをお勧めします。 0.zip 必要なプロジェクトは qtbase-opensource-src-5.9.0srcpluginssqldriversmysql にあります。

Qt を使用して上記のドライバーのコンパイルに使用したプロジェクト ファイルを開き、mysql.pro の最後に次の 2 つの文を追加します:

INCLUDEPATH += mysql インストール ディレクトリ include
LIBS += -Lmysql インストール ディレクトリ lib -llibmysql

ビルド プロジェクトを実行すると、C ドライブに pluginsqldrivers ディレクトリが生成されます。このディレクトリには、qsqlmysql.dll と qsqlmysqld.dll という 2 つのファイルが含まれています。これらをコピーして、元の 2 つのファイルを上書きします。 Qt と MySQL 間の接続を再度テストします。成功しましたか?


以上がWindows 環境で MySQL に Qt 接続を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。