本文提供pdf版本还有word版本下载
pdf下载地址:
word文档下载地址:
本文示例代码下载地址:
1环境搭建
1.1安装Qt Creator配置系统环境变量
安装Qt Creator的过程比较简单,本人就不再过多叙述,相关文档可以自己搜索,相信你用到这篇文章的时候,你的Qt Creator已经安装上去了.
安装之后我们首先要把系统中的Qt的一些环境变量配置起来,也就是把我们常用的qmake还有mingw32-make.exe给配到系统的环境变量里面.
本人的Qt安装在: D:\QtSDK,Qt Creator 版本为:
我们需要把如下两处配置到系统的Path变量上
->D:\Qt\2010.05\mingw\bin
->D:\Qt\2010.05\qt\bin
也就是说在系统环境变量Path后面加上:
;D:\Qt\2010.05\qt\bin;D:\Qt\2010.05\mingw\bin;
然后确定即可.
然后在cmd命令窗口,便可以输入qmake -version或者mingw32-make.exe -version,如下所示:
1.2安装mysql并确定include和lib目录
安装Mysql的过程我只选取部分重要的地方,仅供参考.
为了编码统一,希望大家在选择数据库编码时,选择与自己代码编码相匹配的最好.
查看mysql的include和lib目录,这两个目录在我们编译QMYSQL时需要用到.
到现在我们的编译环境已经搭建好了,下面我们就开始去编译mysql的驱动.
2编译QMYSQL
2.1参考Qt Assistant了解纲要
具体编译的方法,可以在Qt Assistant里面输入:SQL Database Drivers可以找到怎么在windows下编译QMYSQL插件.
2.2具体操作
真正的在电脑上操作,可能会与帮助文档有些小小的不同,但是道理是一样的,掌握了精髓,就不怕编译不出来.
在我的电脑上,具体的操作方法如下:
->首先来到目录: D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql
这个目录包含了mysql.pro,我们通过这个项目文件来编译出QMYSQL插件.
->键入命令,并回车:
D:\Qt\2010.05\qt\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=D:/MySQL/include" "LIBS+=D:/MySQL/lib/libmysql.lib" mysql.pro
-> 键入命令并回车:
Mingw32-make.exe
->编译好之后,我们可以在目录: D:\Qt\2010.05\qt\plugins\sqldrivers可以发现如下几个文件:
libqsqlmysql4.a
libqsqlmysqld4.a
qsqlmysql4.dll
qsqlmysqld4.dll
为了直接在Qt Creator直接使用Mysql驱动我们还需要把目录D:\MySQL\lib下的libmysql.dll拷贝到目录: D:\Qt\2010.05\qt\bin
最后我们整个驱动就编译好了,然后就可以在Qt Creator中开发Mysql的程序了.
3测试QMYSQL驱动
我们测试代码如下:
#include <QApplication> #include <QSqlDatabase> #include <QMessageBox> #include <QDebug> #include <QSqlQuery> #include <QString> #include <QVariant> int main(int argc, char *argv[]) { QApplication a(argc, argv); //加入QMYSQL驱动 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //设置数据库的一些属性,比如主机名,数据库名,数据库用户名,密码以及端口 db.setHostName("localhost"); db.setDatabaseName("testqt"); db.setPassword("root"); db.setUserName("root"); db.setPort(3306); //打开数据库连接 bool ok = db.open(); //判断是否连接成功 if (!ok) { QMessageBox::critical(0, "Cannot open database", "Unable to establish a database connection", QMessageBox::Cancel); return false; } else { qDebug() << "db connection successfully!"; } //创建数据库查询对象QSqlQuery QSqlQuery query; //执行SQL脚本 query.exec("SELECT name FROM user"); //如果有结果,就遍历结果 while (query.next()) { qDebug() << "hi..." << query.value(0).toString(); } return a.exec(); }
执行结果如下:
作者:阿飞
2012/10/26
文章的脚注信息由WordPress的wp-posturl插件自动生成