Qt下连接mysql

Qt下连接mysql

由于项目的需要,要用qt连接mysql数据库。折腾了老半天终于搞出来了,感觉十分的欣慰。

操作系统win7旗舰版sp1.

下载过程:

1:下载mysql

我下载的版本是5.6.10官方正式版(for windows32) 下载地址如下所示:http://www.xiazaiba.com/html/361.html

2:下载qt

我下载的版本是 qt-win-opensource-4.8.2-vs2010.exe

3:下载vs2010qt插件

也是图个方便,在vs上能够开发qt程序,我下载的版本是:qt-vs-addin-1.1.11-opensource.exe

 

安装过程:

1:安装mysql

安装mysql,我选择的是全部安装,貌似是因为这样可以产生mysql相应的接口文件。

Qt下连接mysql_第1张图片

找到mysql的安装路径,可以看到其中的includelib文件,这两个文件是后面生成mysql驱动所必须依赖的文件。

为了简化路径和方便后面的安装,复制includelib文件到C:\Qtmysql

2:安装qt-win-opensource-4.8.2-vs2010.exe

这个按照安装向导直接一步一步安装就可以了,我选择的安装路径是:C:\Qt\4.8.2。安装完成后,可以发现C:\Qt\4.8.2\src\plugins\sqldrivers的路径下面有一个readme的文件,打开有这样一段话:

Pleasenote that the DB2, Oracle and TDS client drivers are notdistributed with the Qt Open Source Editions.

 

This isbecause the client libraries are distributed under a license whichis not compatible with the GPL license.

大致意思就是DB2OracleTDS的数据库客户端驱动在qt的开源版本中是没有发布的,原因是这些客户端库的发行许可证和GPL许可证不兼容。

mysql是已经被Oracle 收购的,所以mysql的驱动需要我们自己来编译。接下来就进入最核心的编译阶段。

首先打开qtcommand prompt,这个有点类似cmd,打开方式如下所示:

Qt下连接mysql_第2张图片

然后定位到:


接着执行qmake命令:


执行完毕后执行nmake命令Qt下连接mysql


执行结果如下图所示:

Qt下连接mysql_第3张图片

还有很长一段没有贴出来。命令执行完毕后,可以发现在原来的文件夹下:

C:\Qt\4.8.2\src\plugins\sqldrivers\mysql多了好几个文件,其中打开debug文件可以发现有:

Qt下连接mysql_第4张图片

网上很多说生成了4个文件,不过我这里只有libmysql.dlllibmysql.lib这两个文件,将这两个文件复制到:C:\Qt\4.8.2\plugins\sqldrivers里面,运行测试程序:

qDebug() << "Availabledrivers:"

   QStringList drivers =QSqlDatabase::drivers(); 

   foreach(QString driver, drivers) 

                 qDebug() << "\t "<<driver; 

   qDebug() << "End";

结果还是没有出现mysql的驱动,这个时候把mysql安装文件下的lib中的libmysql.dll复制到C:\Qt\4.8.2\bin,这个时候再运行测试程序:

Qt下连接mysql_第5张图片

从中可以发现出现了mysql的驱动程序。

你可能感兴趣的:(Qt下连接mysql)