Qt 版本:Qt 5.7.0
安装方法:【Qt】安装失误解决方案
MySQL:MySQL 8.0.16
安装方法:windows10下载安装MySQL8.0.16
Qt 数据库 SQL
参考文章:Qt Creator快速入门_第三版__霍亚飞编著
- 用户接口层:实现将数据库中的数据链接到窗口部件上
- SQL接口层:提供对数据库的访问
- 驱动层:为具体的数据库和SQL接口层之间提供了底层的桥梁
要使用Qt SQL的类,需要在项目文件(.pro文件)中添加
QT += sql
连接数据库
(1)数据库驱动:
同JAVA WEB连接数据库一样,Qt中也有很多数据库的驱动
查看自己版本Qt中可用的数据库插件:使用QSqlDatabase类中的静态函数drivers()来获取可用的驱动列表,然后遍历输出
#include <QApplication>
#include <QSqlDatabase>
#include <QDebug>
#include <QStringList>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qDebug()<<"Avaliable drivers;";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver,drivers)
qDebug()<<driver;
return a.exec();
}
(2)创建数据库连接:
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
void mysql::connect_mysql()
{
db = QSqlDatabase::addDatabase("QMYSQL"); //连接的MYSQL的数据库驱动
db.setHostName("localhost"); //主机名
db.setPort(3306); //端口
db.setDatabaseName("test"); //数据库名
db.setUserName("root"); //用户名
db.setPassword("123456"); //密码
db.open();
//测试连接
if(!db.open())
{
qDebug()<<"不能连接"<<"connect to mysql error"<<db.lastError().text();
return ;
}
else
{
qDebug()<<"连接成功"<<"connect to mysql OK";
}
db.close();
}
连接失败解决方法:
(1)提示“QSqlDatabase: QMYSQL driver not loaded”
解决方法:找到mysql安装文件中的libmysql.dll文件,然后复制到qt安装文件目录(我的在C盘)下
(3) 看評論:qq_34790664 的回复,感谢