1.软件准备
- qt-opensource-windows-x86-mingw482-4.8.7.exe Qt4的最后一个版本,bug应该是最少的,其他版本也类似。官方下载链接(329M)
- mysql-5.5.37-win32.msi MySql数据库,安装时注意选择全部安装。百度网盘下载(33M)
2.安装MySql
之前安装的没时候没有截图,大家网上搜一下,很详细。
安装完成后,C盘根目录新建一个MySql文件夹,把C:\Program Files (x86)\MySQL\MySQL Server 5.5目录下的include和lib文件夹拷贝到C:\MySql。
3.可视化数据库操作
MySql安装完成了,可是对于像和我一样sql语句都不怎么会的人来说当然还需要一个可视化操作软件,这里推荐
Navicat,自己下载安装吧,我懒,算了,给个百度网盘连接(Navicat下载)
这里有一个非常重要的地方,如果你要远程访问数据库,那么修改用户root@localhost,改为root@%
4.编译Qt的MySql驱动
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("192.168.2.128");
db.setPort(3306);
db.setDatabaseName("sdjk");
db.setUserName("root");
db.setPassword("");
bool ok = db.open();
if (ok)
{
qDebug() << QString("数据库打开成功");
}
else
{
qDebug() << "数据库打开失败:" << db.lastError();
}
上面这段代码就是打开数据库的代码了,不出什么以外的话应该有下面这个错误:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC
数据库打开失败: QSqlError(-1, "Driver not loaded", "Driver not loaded")
就是说没有MySql驱动,只有sqlite、odbc3、obdc驱动。
下面开始编译驱动:
- 打开C:\Qt\4.8.7\src\plugins\sqldrivers\mysql里面的mysql.pro
- pro文件里添加两行,就是包含前面Sql数据库的头文件和库,(不知道问什么第二行那样写不行,认不到)
INCLUDEPATH += "C:/MySql/include"
#LIBS += "C:/MySql/lib/libmysql.lib"
LIBS += -LC:/MySql/lib \
-lmysql
- 编译,debug和release版本都编译一下,编译好后把debug下的libqsqlmysqld4.a、qsqlmysqld4.dll和release下的libqsqlmysql4.a、qsqlmysql4.dll拷贝到C:\Qt\4.8.7\plugins\sqldrivers
- 把C:\MySql\lib下的libmysql.dll拷贝到C:\Qt\4.8.7\bin下,发布程序的时候也要这个动态库。
5.结束
就这样了,以后有什么会继续补充的。