qt 5.9.9连接mysql 8.0踩过的坑
最近需要qt连接mysql,于是去试了试。
博主看了很多博客,这是我的代码
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setDatabaseName("student");// 数据库名
db.setUserName("root");// 用户名
db.setPassword("123456");// 密码
db.setPort(3306);// 端口号
db.open();
QSqlQuery query;
query.exec("create table login(id varchar(30),password varchar(30));");
}
Widget::~Widget()
{
delete ui;
}
此处要注意在.pro文件中改一下
QT += core gui sql
运行结果为:
于是我将mysql/lib下的libmysql.dll和libmysql.lib文件拷贝到YOUR_QT_PATH/bin下。
结果错误没有变。于是,我改了一行代码看看错误原因
qDebug() << "database connect is fail" << db.lastError().text();
错误代码为"SSL connection error: unknown error number QMYSQL: Unable to connect"
博主在网上搜了一下,发现是因为mysql 8.0和qt 5.9.9版本不匹配。必须是mysql 5.7。所以,只能把mysql 8.0卸掉,重新装mysql 5.7.
最后,我的qt终于连接上mysql了。
感动到哭~
最后,如果各位看官觉得有用,烦请点赞收藏,你的关注是我更新最大的动力