Qt5.14.1连接MySql8.0.25数据库

注意.确保Qt和MySql的版本都是32位,或者64位,否则极大概率会出现编译错误。

1、编译mysql驱动(用Qt打开mysql.pro文件)

第6行左右,在QMAKE_USE += mysql 前面加上# ,变为#QMAKE_USE += mysql。

win32:LIBS += -LD:/mysql-8.0.25-winx64/lib -llibmysql(自己mysql相应文件的路径)

INCLUDEPATH += D:/mysql-8.0.25-winx64/include

DEPENDPATH += D:/mysql-8.0.25-winx64/include

2、拷贝文件

编译完成后会在Qt同文件下生成Plugins文件夹

将生成qsqlmysql.dll和qsqlmysqld.dll 拷贝至Qt所对应mingw_64的sqldrivers。

拷贝mysql的动态库(mysql中有) 将 mysql/lib 中的 libmysql.dll(动态库)拷贝至Qt所对应编译器的bin目录下。

3、连接MySql

新建一个Qt项目 记得选择mingw_64的编译器,会在新建时提示你选。其他默认就好在.pro文件头部添加 QT += sql。

在main.cpp中添加如下代码

#include "mainwindow.h"
#include <QApplication>
#include<QSqlDatabase>
#include<QSqlError>
#include<QSqlQuery>
#include<QDebug>

bool createConnection()
{
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("mydb20");
    db.setUserName("root");
    db.setPassword("5635947");

    bool isopen=db.open();
    if(isopen)
    {
        qDebug()<<"数据库连接成功";
    }
    else
    {
        qDebug()<<"数据库连接失败";
    }

Ctrl + r 运行,成功后在下方的结果输出框中有小字提示“数据库连接成功”。

4.创建学生数据库

5.查询数据库
   //查询学生数据库
    QSqlQuery sq("select * from student");
    qDebug()<<"id         name         gender    address";

    while(sq.next())
    {
        //字符串转换
        int sid=sq.value(0).toInt();
        QString strname=sq.value(1).toString();
        QString strgender=sq.value(2).toString();
        QString straddress=sq.value(3).toString();
        //输出
        qDebug()<<QString("%1   %2   %3   %4").arg(sid).arg(strname).arg(strgender).arg(straddress);
    }
    //关闭数据库
    db.close();

查询结果

总结:

1、Qt中没有自带的mysql数据库插件 qsqlmysql.dl 与 qsqlmysql.dlld,需要去mysql.pro文件中自行编译。
2、需要把mysql动态库拷贝至Qt编译器的bin目录下。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值