一、环境准备
- Qt版本: Qt5.9 (mingw53_32)
- MYSQL:5.7(32位版本)
根据网上所说,若两个软件位数不一致,也是无法正常连接的!
二、问题
根据网上,将本地MYSQL安装目录下的驱动文件libmysql.dll
放到QT安装目录:..\Qt\Qt5.9.0\5.9\mingw53_32\bin
,但是连接失败!
三、解决办法
本地驱动和QT不兼容,可以使用下面的驱动文件:
链接:https://pan.baidu.com/s/1xWjcIt_YOFGbDaNXeusGcw
提取码:znxy
四、连接样例
(一)添加sql模块支持
配置文件中添加:QT += sql
(二)连接mysql
1、引入依赖
引入所有sql相关的依赖
#include <QtSql>
或者单独引入用到的依赖:
#include <QSqlDatabase>
#include <QSqlError>
2、连接数据库
void MyMainWindow::on_actOpen_triggered()
{
QString hostName = "localhost";
QString dbName = "qt_db";
QString userName = "root";
QString password = "root";
//添加MYSQL数据库的驱动
this->conn = QSqlDatabase::addDatabase("QMYSQL");
conn.setHostName(hostName);
conn.setDatabaseName(dbName);
conn.setUserName(userName);
conn.setPassword(password);
qDebug("database open status: %d\n", conn.open());
QSqlError error = conn.lastError();
qDebug() << error.text();
conn.close();
}