Open Source版本的QT不包括
MySQL的
驱动,需要时可以自己
编译生成。下面以我的
开发环境为例介绍自己编译MySQL驱动的步骤。
注:我的开发环境如下:Win7+QT4.8.1+MySQL5.5.27,QT安装目录为C:\QtSDK
1、建立目录C:\cyn,将%MYSQL%\MySQL Server 5.5\目录下的include和lib目录拷贝到C:\cyn目录下,完成后如下图;
2、启动QtCreator,打开工程C:\QtSDK\QtSources\4.8.1\src\plugins\sqldrivers\mysql\mysql.pro,目标设置见下图;
3、工程导入后,打开mysql.pro文件,并在最后增加两行:
INCLUDEPATH+=C:/cyn/include
LIBS += -LC:/cyn/lib/ -llibmysql
如下图:
4、分别选择调试和发布模式构建程序,即可在debug和release目录下生成相应的dll文件
5、将第四步中生成的两个dll拷贝到C:\QtSDK\Desktop\Qt\4.8.1\mingw\plugins\sqldrivers目录下
6、将C:\cyn\lib\libmysql.dll拷贝到C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin目录下
7、测试,运行下面这段程序,在应用程序输出里看到open db ok,大功告成!
#include <QtGui/QApplication>
#include "MainWindow.h"
#include <QtSql>
#include <QDebug>
void openDb()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test"); //test为Mysql中的schema名
db.setUserName("root");
db.setPassword("root");
bool ret = db.open();
if (ret)
{
qDebug("open db ok");
}
else
{
qDebug("open db failed");
qDebug() << db.lastError().text();
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
openDb();
MainWindow w;
w.show();
return a.exec();
}