发布时间:2025-12-10 11:38:39 浏览次数:4
视频示例:如下直通车
Qt连接数据库
个人博客直达
详细安装过程请参考:压缩包安装mysql
没有mysql驱动时出现如下错误:
QSqlDatabase: QMYSQL driver not loaded检测程序:
#include "widget.h"#include "ui_widget.h"#include <QSqlDatabase>#include <QDebug>#include <QMessageBox>#include <QSqlQuery>#include <QSqlError>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget){ui->setupUi(this);QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");//添加驱动db.setHostName("localhost");db.setUserName("root");db.setPassword("123456");db.setDatabaseName("sys");if(!db.open()){QMessageBox::warning(this,"错误",db.lastError().text());return;}QSqlQuery query;qDebug()<<QSqlDatabase::drivers();}Widget::~Widget(){delete ui;}出现报错,就按照如下教程手动编译mysql驱动:qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC…
按照教程修改后将会出现如下效果:
进而将驱动以及库文件放到相应的地方!
小插曲:
手动编译仍未出现上面那个文件夹有可能就是qt出现了问题,建议重装!我的就是编译以后没有出现那个文件夹,百度了两天仍未解决,于是乎。。。我就重装了,然后就解决了!
注意:mysql的版本要与qt对应,这里用的是32位的
至此,配置成功!
输入:
MySQL>update user set host = '%' whereuser = 'root'; MySQL>select host, user from user; MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY'mypassword' WITH GRANT OPTION;//解释:开启全部权限,'root'自定义的用户名,可以是别的;'%'是代表对任意的ip地址开放;'mypassword' 是自定义的密码。 MySQL>flush privileges; MySQL>EXIT连接测试:
远程连接已开启,目前可以实现本地连接和远程连接!
注意:在进行连接数据库时请在.pro中添加:QT += core gui sql