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 的回复,感谢  

更多推荐

【Qt】Qt连接MySql数据库