【Qt】Qt连接MySql数据库

Qt 版本:Qt 5.7.0

安装方法:【Qt】安装失误解决方案

MySQL:MySQL 8.0.16

安装方法:windows10下载安装MySQL8.0.16

 

Qt 数据库 SQL

参考文章:Qt Creator快速入门_第三版__霍亚飞编著

【Qt】Qt连接MySql数据库_第1张图片

  • 用户接口层:实现将数据库中的数据链接到窗口部件上
  • SQL接口层:提供对数据库的访问
  • 驱动层:为具体的数据库和SQL接口层之间提供了底层的桥梁

要使用Qt SQL的类,需要在项目文件(.pro文件)中添加

QT += sql

 

连接数据库

(1)数据库驱动:

同JAVA WEB连接数据库一样,Qt中也有很多数据库的驱动

【Qt】Qt连接MySql数据库_第2张图片

查看自己版本Qt中可用的数据库插件:使用QSqlDatabase类中的静态函数drivers()来获取可用的驱动列表,然后遍历输出

#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);


    qDebug()<<"Avaliable drivers;";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver,drivers)
        qDebug()<

【Qt】Qt连接MySql数据库_第3张图片

 

(2)创建数据库连接:

#include 
#include 
#include 

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"<

连接失败解决方法:

(1)提示“QSqlDatabase: QMYSQL driver not loaded”

解决方法:找到mysql安装文件中的libmysql.dll文件,然后复制qt安装文件目录(我的在C盘)下

【Qt】Qt连接MySql数据库_第4张图片

【Qt】Qt连接MySql数据库_第5张图片

 

(3)

 

你可能感兴趣的:(Qt)