Qt Creator下连接mysql的解决办法。下面以qt5.8.0、mysql5.7.18为例。
准备工作
1.qt5.2版本以上,默认都有mysql的驱动,我们可以在(如:D:\Qt\Qt5.8.0\5.8\mingw53_32\plugins\sqldrivers)下面找到mysql的驱动。如果没有驱动的话,那么就要自己编译生成了。
2.下载mysql(qt找不到mysql的库文件) 库的文件名为“libmysql.dll”,这个库文件应该放在Qt的bin文件夹下(例:D:\Qt\Qt5.8.0\5.8\mingw53_32\bin) 这个文件一般在mysql的lib目录下。
测试代码
#include "mainwindow.h"
#include <QApplication>
#include <QtSql/QSqlDatabase>
#include <QStringList>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <qDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
QStringList drivers = QSqlDatabase::drivers();
qDebug() << drivers;
QSqlDatabase dbconn;
QSqlQuery query;
dbconn = QSqlDatabase::addDatabase("QMYSQL");
dbconn.setHostName("192.168.80.221");//主机名字
dbconn.setDatabaseName("iacrms");//数据库名字
dbconn.open("gdzt", "039.com");//用户名、密码,成功返回1
query = (QSqlQuery)dbconn;
query.exec("select * from tb_UserQQInfo");
while(query.next())
{
int id = query.value(0).toInt();
QString name = query.value(1).toString();
qDebug() << QString::number(id) + " : "+ name;
}
return a.exec();
}
注意事项
1.qt版本一定要和mysql的一样,要是64位就都要是64位,或者都是32位。