自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Qt數(shù)據(jù)庫之添加MySQL驅(qū)動插件

移動開發(fā)
本文主要介紹了MySQL驅(qū)動插件在windows下的編譯方法,其他數(shù)據(jù)庫和其他平臺的編譯方法可以按照幫助中的說明進行。其實Qt不僅可以編譯現(xiàn)成的數(shù)據(jù)庫驅(qū)動插件,我們也可以編寫自己的數(shù)據(jù)庫驅(qū)動插件,當然這是一件相當復雜的事情,不做介紹了

現(xiàn)在可用的數(shù)據(jù)庫驅(qū)動只有3種,在Qt中,我們需要自己編譯其他數(shù)據(jù)庫驅(qū)動的代碼,讓它們以插件的形式來使用。下面我們就以現(xiàn)在比較流行的MySQL數(shù)據(jù)庫為例,說明一下怎樣在Qt Creator中添加數(shù)據(jù)庫驅(qū)動插件。在講述之前,我們先看一下Qt Creator中數(shù)據(jù)庫的插件到底放在哪里。

我們進入Qt Creator的安裝目錄,然后進入相對應的文件夾下,比方我這里是

  1. D:\Qt\2010.02.1\qt\plugins\sqldrivers 

在這里我們可以看見幾個文件,如下圖:

Qt數(shù)據(jù)庫之添加MySQL驅(qū)動插件

<根據(jù)名字中的關(guān)鍵字,我們可以判斷出這就是ODBC數(shù)據(jù)庫和SQLite數(shù)據(jù)庫的驅(qū)動插件。下面我們編譯好MySQL數(shù)據(jù)庫驅(qū)動后,也會在這里出現(xiàn)相對應的文件。

首先:我們查看怎樣安裝數(shù)據(jù)庫插件。

我們打開Qt Creator,在幫助中搜索SQL Database Drivers關(guān)鍵字。這里列出了編譯Qt支持的所有數(shù)據(jù)庫的驅(qū)動的方法。

我們下拉到在windows上編譯QMYSQL數(shù)據(jù)庫插件的部分,其內(nèi)容如下:

Qt數(shù)據(jù)庫之添加MySQL驅(qū)動插件

這里詳細介紹了整個編譯的過程,其可以分為以下幾步:

第一,下載MySQL的安裝程序,在安裝時選擇定制安裝,這時選中安裝Libs和Include文件。安裝位置可以是C:\MySQL 。

注意:安裝位置不建議改動,因為下面進行編譯的命令中使用了安裝路徑,如果改動,那么下面也要進行相應改動。

第二,進行編譯。我們按照實際情況輸入的命令如下。

  1. cd %QTDIR%\src\plugins\sqldrivers\mysql  
  2. qmake “INCLUDEPATH+=C:\MySQL\include” “LIBS+=C:\MySQL\lib\opt\libmysql.lib” mysql.pro  
  3. mingw32-make 

注意:在上面的命令中qmake之后如果加上“-o Makefile”選項,那么這個插件只能在以release模式編譯程序時才能使用,所以我們上面沒有加這個選項。

然后:我們按照上面的過程進行相應操作。

1.我們先下載MySQL的安裝文件。

我們可以到MySQL的官方主頁 http://www.mysql.com 進行下載最新的MySQL的windows版本,現(xiàn)在具體的下載頁面地址為:

http://www.mysql.com/downloads/mirror.php?id=383405#mirrors

我們不進行注冊,直接點擊其下面的

  1. No thanks, just take me to the downloads! 

可以在其中選擇一個鏡像網(wǎng)點進行下載,我使用的是Asia下的最后一個,就是臺灣的鏡像網(wǎng)點下載的。

下載到的文件名為:mysql-essential-5.1.44-win32 ,其中的win32表明是32位的windows系統(tǒng),這一點一定要注意。文件大小為40M左右。

當然你也可以到中文網(wǎng)站上進行下載:http://www.mysql.cn/,隨便下一個windows的版本就行。

2.安裝軟件。

我們選擇定制安裝Custom。

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

然后選中安裝Include文件和Lib文件。

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

我們將安裝路徑更改為:C:\MySQL 。

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

最終的界面如下。

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

安裝完成后,我們不進行任何操作,所以將兩個選項都取消。

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

3.進行編譯。

我們在桌面上開始菜單中找到Qt Creator的菜單,然后打開Qt Command Prompt。

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

然后輸入第一條命令cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回車,運行效果如下。

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

然后輸入第二條命令:

  1. qmake “INCLUDEPATH+=C:\MySQL\include” “LIBS+=C:\MySQL\lib\opt\libmysql.lib” mysql.pro 

#p#

按回車后運行效果如下:

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

最后輸入:mingw32-make ,按下回車后經(jīng)過幾秒的編譯,最終效果如下:

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

整個編譯過程中都沒有出現(xiàn)錯誤提示,可以肯定插件已經(jīng)編譯完成了。

4.我們再次進入Qt Creator安裝目錄下存放數(shù)據(jù)庫驅(qū)動插件的文件夾。

我這里是D:\Qt\2010.02.1\qt\plugins\sqldrivers

其內(nèi)容如下:

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

可以看到已經(jīng)有了和MySQL相關(guān)的文件了。

最后:我們編寫程序測試插件。

1.我們將上一次的主函數(shù)更改如下。

  1. int main(int argc, char *argv[])  
  2. {  
  3. QCoreApplication a(argc, argv);  
  4. QSqlDatabase db = QSqlDatabase::addDatabase(“QMYSQL”); //添加數(shù)據(jù)庫驅(qū)動  
  5. return a.exec();  

運行程序,效果如下。

qmake “INCLUDEPATH+=C:\\MySQL\\include” “LIBS+=C:\\MySQL\\lib\\opt\\libmysql.lib” mysql.pro

這里提示:QSqlDatabase: QMYSQL driver not loaded 。

2.這時我們需要將C:\MySQL\bin目錄下的libmySQL.dll文件復制到我們Qt Creator安裝目錄下的qt\bin目錄中。

如下圖:

 3.這時再運行程序,就沒有提示了。

Qt數(shù)據(jù)庫之添加MySQL驅(qū)動插件

4.我們再將主函數(shù)更改一下,測試這時可用的數(shù)據(jù)庫驅(qū)動。

  1. int main(int argc, char *argv[])  
  2. {  
  3. QCoreApplication a(argc, argv);  
  4. qDebug() << “Available drivers:”;  
  5. QStringList drivers = QSqlDatabase::drivers();  
  6. foreach(QString driver, drivers)  
  7. qDebug() << “\t” << driver;  
  8. return a.exec();  

運行效果如下:

Qt數(shù)據(jù)庫之添加MySQL驅(qū)動插件

可以看到,現(xiàn)在已經(jīng)有了MySQL的數(shù)據(jù)庫驅(qū)動了。

【編輯推薦】

淺析QT MySql操作

在VS2008中使用Qt編程

剖析Qt Creator布局管理器

使用TOMCAT連接池連接MySQL

MySQL中創(chuàng)建及優(yōu)化索引組織結(jié)構(gòu)的思路

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-05 18:04:45

QT Mysql

2011-06-24 15:16:33

Qt 插件

2011-07-01 10:03:52

QT 數(shù)據(jù)庫

2011-07-05 10:16:16

Qt 數(shù)據(jù)庫 SQLite

2011-07-05 16:08:10

2011-07-04 18:02:29

QT Sqlite 數(shù)據(jù)庫

2011-06-21 16:13:51

Qt Oracle 驅(qū)動

2011-06-10 10:31:57

QT mysql linux

2011-07-05 10:03:00

Qt MYSQL 數(shù)據(jù)庫

2011-07-05 14:46:34

2019-06-20 15:25:14

MySQLL數(shù)據(jù)庫存儲

2019-05-31 12:13:49

MySQL數(shù)據(jù)庫安全

2011-07-19 16:36:25

Audit插件MySQL數(shù)據(jù)庫

2011-06-23 18:37:02

Qt 數(shù)據(jù)庫

2011-06-21 15:11:04

QT 數(shù)據(jù)庫

2011-06-21 15:31:04

Qt 數(shù)據(jù)庫 SQL

2011-07-05 09:35:52

Ubuntu Qt Mysql

2018-07-24 09:38:35

JavaMySQLJDBC

2011-08-30 13:59:06

QTMysql數(shù)據(jù)庫

2011-07-05 09:25:05

Qt MySQL 驅(qū)動
點贊
收藏

51CTO技術(shù)棧公眾號