Qt中连接mysql

1、安装mysql,workbench,为mysql添加环境变量

2、安装Qt带src,然后到如下目录,找到mysql.pro(建议做个副本先)

http://D:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\mysql

mysql.pro

注意路径的 \ / 和双引号的使用,搞不定就照抄

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#注释掉
#QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin

include(../qsqldriverbase.pri)


#这个主要是添加.h依赖文件使用
INCLUDEPATH+="C:/Program Files/MySQL/MySQL Server 8.0/include"

#添加依赖的.lib文件
LIBS+="C:/Program Files/MySQL/MySQL Server 8.0/lib/libmysql.lib"

#生成你所需要的dll存放目录
DESTDIR="D:/MYSQL/lib"

#路径换成自己的mysql路径
qsqldriverbase.pri
QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
#include(./qsqldriverbase.pri)
include(./configure.pri)

PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

 3、编译得到两个dll,

由于在mysql.pro中已经定义目标目录,DESTDIR="D:/MYSQL/lib"

复制到

D:\Qt\Qt5.13.2\5.13.2\mingw73_64\plugins\sqldrivers

4、 打开mysql安装目录下lib目录

 复制libmysql.dll到Qt如下bin目录

5、WorkBench创建database和table,Qt项目写代码如下

void Mysql::on_ConnectButton_clicked()
{
    db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setPort(3306);
    db.setDatabaseName("jetring");
    db.setUserName("root");
    db.setPassword("123456");
    if(db.open())
    {
        ui->textEdit->append("Mysql connect success!");
    }
    else
    {
        ui->textEdit->append("Mysql connect failed.");
        ui->textEdit->append("Error: " + db.lastError().text());
    }
}

连接成功!

PS:我的版本

感谢如下文章作者:

https://www.cnblogs.com/lpxblog/p/6698255.html

相关推荐

  1. Qt 连接 Mysql

    2024-04-20 10:12:04       61 阅读
  2. Qt 无法连接MySQL数据库

    2024-04-20 10:12:04       41 阅读
  3. Qt6 连接 MySql数据库

    2024-04-20 10:12:04       33 阅读
  4. 解决Qt连接不上mysql数据库

    2024-04-20 10:12:04       60 阅读
  5. 32位QT连接64位MySQL

    2024-04-20 10:12:04       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-20 10:12:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-20 10:12:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-20 10:12:04       82 阅读
  4. Python语言-面向对象

    2024-04-20 10:12:04       91 阅读

热门阅读

  1. Linux环境部署MySQL

    2024-04-20 10:12:04       28 阅读
  2. idea常用的快捷键

    2024-04-20 10:12:04       34 阅读
  3. 掌握ChatGPT:写作论文的利器

    2024-04-20 10:12:04       34 阅读
  4. 在IntelliJIDEA中如何将依赖包打入项目中?

    2024-04-20 10:12:04       29 阅读
  5. Mac使用Idea新手常用快捷键

    2024-04-20 10:12:04       31 阅读
  6. lombok

    2024-04-20 10:12:04       33 阅读
  7. isListEqual方法比较

    2024-04-20 10:12:04       39 阅读
  8. Python 12306抢票脚本

    2024-04-20 10:12:04       31 阅读