QT 5.9.9 配置使用 MYSQL5.7 数据库

news2024/12/25 12:47:26

目录

Mysql下载安装

QT 下载安装

编译MYSQL

mingw构建方式

msvc构建方式

QT中MYSQL测试使用


因为版权问题,Qt本身不自带Mysql数据库的驱动,因此如果想要借用Qt操作Mysql数据库,需要手动进行编译。

Mysql下载安装

【Qt】 Mysql服务端安装教程

【Qt】 Mysql 库安装

1,可以选择安装服务端或者安装库文件

2,QT 构件32位版本对应安装 MYSQL 32位. 本文中QT 5.9.9 编译使用  MYSQL 安装5.7(x86)版本 或者 MySQL Connector/C (Archived Versions) 6.1.11(windows x86)

3,服务端x86版本可以从C:\Program Files (x86)\MySQL\MySQL Installer for Windows找到

MySQLInstaller.exe文件(上图)选择ADD按钮进行安装(默认好像是x64版本安装,安装完记得进入看一下版本),也可以从应用卸载打开此界面

QT 下载安装

【Qt】下载与安装_华开发的博客-CSDN博客_qt下载安装

安装组件时勾选 SOURCE 项

编译MYSQL

本机QT 安装目录:D:\QT\QT_5.9

MYSQL客户端 目录 :F:\oracle_client

QTCreator 打开QT源码 mysql.pro 目录:D:\QT\QT_5.9\5.9.9\Src\qtbase\src\plugins\sqldrivers\mysql

QT构建分为mingw 和 msvc 构建时mysql.pro修改不同,根据个人配置选择

QT编译MYSQL

mingw构建方式

参考msvc构建方式 替换成mingw构件

msvc构建方式

修改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

#这个主要是添加.h依赖文件使用
INCLUDEPATH += "C:/Program Files (x86)/MySQL/MySQL Server 5.7/include"
#添加依赖的.lib文件
LIBS += "C:/Program Files (x86)/MySQL/MySQL Server 5.7/lib/libmysql.lib"
#生成DLL文件的存放目录  测试无效果
#DESTDIR = ../mysql/mysqlDll

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

点击重新构建项目

成功后在本机D:\plugins\sqldrivers下会获得

qsqlmysql.dll ,qsqlmysqld.dll 

根据构建套件不同将文件放置不同位置

qsqlmysql.dll ,qsqlmysqld.dll放入

D:\QT\QT_5.9\5.9.9\msvc2015\plugins\sqldrivers

将C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib 内的libmysql.dll,libmysql.lib文件放入

D:\QT\5.9.9\5.9.9\msvc2015\bin

QT中MYSQL测试使用

pro文件中添加

QT +=  sql

使用头文件中添加

#include <QSqlQuery>
#include <QSqlError>
#include <QSqlDatabase>

显示可用驱动

    //查看所有数据库驱动
    QStringList lists = QSqlDatabase::drivers();

    for(int i = 0 ;i < lists.size(); ++ i)
    {
        qDebug() << lists.at(i);
    }

测试


#include <QCoreApplication>

#include <QStringList>
#include <QSqlQuery>
#include <QSqlError>
#include <QSqlDatabase>
#include <QDateTime>

#include <QDebug>


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

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1"); //连接本地主机
    db.setPort(3307);
    //db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("1234");
    bool ok = db.open();
    if (ok){
        qDebug() <<"true_mysql:\n" ;
    }
    else {
        qDebug() <<"error_mysql:\n" << db.lastError().text();
    }


    return a.exec();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/695106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抖音seo账号矩阵系统源码搭建服务器内耗量?

一、短视频账号矩阵系统视频库存量技术云端如何处理&#xff1f; 1.抖音SEO账号矩阵系统源码搭建服务器内耗量怎么后端处理 非常低&#xff0c;可以轻松应对大量用户使用。通过服务器的高效运行&#xff0c;系统可以提供稳定的服务&#xff0c;并且快速响应用户的操作。源码搭…

2023年软件测试这个行业怎么样?

今天我要从一个新的角度来论述软件测试行业怎么样。 最近热搜新闻是张雪峰最近抨击的“新闻专业不要报&#xff0c;建议把孩子打晕后&#xff0c;随便选个专业都比新闻好”&#xff0c;重庆大学新闻学教授发文抨击张雪峰偏激言论&#xff0c;眼睛雪亮的人民群众却纷纷站队张雪…

C#复制构造函数学习

通过从另一个对象复制变量或将一个对象的数据复制到另一个对象来创建对象的构造函数称为复制构造函数。 复制构造函数是一个参数化构造函数&#xff0c;包含相同类类型的参数。它的主要用途是将新实例初始化为现有实例的值。 using System;namespace Mytest{class User {publi…

非凸科技金牌赞助“第三届中国Rust开发者大会”

6月17-18日&#xff0c;由Rust中文社区主办的“第三届中国Rust开发者大会”在上海圆满举行。非凸科技作为金牌赞助商&#xff0c;全力协助大会顺利开展&#xff0c;共同为中国 Rustaceans带来一场技术交流盛宴。 本次大会演讲主题内容广泛&#xff0c;涉及编程语言、量化金融、…

springboot mybatis-plus慢sql输出日志,log4jdbc使用

前言 无论使用原生JDBC、mybatis还是hibernate&#xff0c;使用log4j等日志框架可以看到生成的SQL&#xff0c;但是占位符和参数总是分开打印的&#xff0c;不便于分析&#xff0c;显示如下的效果: Log4jdbc 是一个开源 SQL 日志框架&#xff0c;它使用代理模式实现对常用的…

C++之operator重载运算符应用(一百四十一)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

采集发布到WordPress指定文章作者

采集的数据发布到wordpress系统网站&#xff0c;指定发布文章的作者设置方法教程。 目录 1. 获取用户名 2. 对接采集器指定作者 3. 随机作者 1. 获取用户名 进入Wordpress系统后台&#xff0c;点击控制台左侧菜单的【用户】&#xff0c;再点击展开列表的【所有用户】&…

word2vec self-attention transformer diffusion的技术演变

这一段时间大模型的相关进展如火如荼&#xff0c;吸引了很多人的目光&#xff1b;本文从nlp领域入门的角度来总结相关的技术路线演变路线。 1、introduction 自然语言处理&#xff08;Natural Language Processing&#xff09;&#xff0c;简称NLP。这个领域是通过统计学、数…

使用homebrew安装RabbitMQ3.12.XX版本无法启动的解决方案

使用brew安装RabbitMQ3.12.XX版本遇到无法启动的天坑 首先来看RabbitMQ 3.12.0的新版说明&#xff0c;这也是我为什么无法启动的原因 所需的功能标志 RabbitMQ 3.12.0 将要求在升级前启用 3.11.x 系列版本的所有功能标志、 类似于 3.11.0 要求在 3.9.0 之前引入的所有功能标…

Android SDK file not found: F:\androidSDK\build-tools\34.0.0\aapt

问题表现 执行flutter doctor 的时候&#xff0c;报错Android SDK file not found&#xff0c;很明确的说没有配置 30.0.3 问题解决 首先去报错的SDK路径中排查是否有这个版本。发现有&#xff0c;但是是个空文件夹&#xff0c;所以删除掉该文件夹重新运行 flutter doctor &a…

【大语言模型】5分钟了解预训练、微调和上下文学习

5分钟了解预训练、微调和上下文学习 什么是预训练&#xff1f;什么是微调&#xff1f;什么是上下文学习&#xff1f;相关资料 近年来大语言模型在自然语言理解和生成方面、多模态学习等方面取得了显著进展。这些模型通过 预训练、 微调和 上下文学习的组合来学习。本文将快速…

JWT数字签名与token实现

JWT介绍 官方介绍 JSON Web Token (JWT)是一个开放标准(RFC 7519)&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任&#xff0c;因为它是数字签名的。 什么时候你应该用JSON Web Token &#xf…

python爬虫—selenium获取csdn质量分并用echarts可视化分析

文章目录 ⭐前言⭐selenium&#x1f496; 获取所有的文章url&#x1f496; 根据url查询分数&#x1f496; inscode结合echarts展示结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享关于python自动化获取个人博客质量分并可视化。 该系列文章&#xff1a; python爬…

MATLAB App Designer基础教程 Matlab GUI入门(一)

MATLAB GUI入门 第一天 学习传送门&#xff1a; 【MATLAB App Designer基础教程Matlab GUI界面设计&#xff08;全集更新完毕-用户界面设计appdesigner&#xff08;中文&#xff09;Matlab Gui教程】 https://www.bilibili.com/video/BV16f4y147x9/?p2&share_sourcecopy_…

音视频解码流程解析

文章目录 1.音视频解码过程2.FFmpeg解音视频流程3.关键函数说明 1.音视频解码过程 2.FFmpeg解音视频流程 3.关键函数说明 avcodec_find_decoder:根据指定AVCodecID查找注册的解码器av_parser_init:初始化AVCodecParserContextavcodec_alloc_context3:创建AVCodecContext上下文…

同行共建,引领潮流,我来说说亚马逊云科技的中国新举措

亚马逊云科技全面阐述生成式AI新机遇&#xff0c;宣布多项举措助力企业加速创新、可持续发展。 【全球云观察 &#xff5c; 热点关注】当前&#xff0c;全球公有云整体规模已经发展到足够大了&#xff0c;来自专业分析机构的数据统计显示&#xff0c;包括了laaS、PaaS、SaaS在内…

gitlab集成kubernetes

gitlab集成kubernetes 1. 管理员通过服务模板添加Kubernetes集群&#xff0c;是生效所有项目 2. 群组中也可以添加Kubernetes集群&#xff0c;优先于管理员添加的全局集群 3. 链接现有集群 4. 配置集群信息 http://178.119.31.180/help/user/project/clusters/add_existing_cl…

uniapp中环状进度条

调用插件&#xff1a; <circle-progress-bar :pro"84/100" :border_back_color"#297DFE" :border_color"#FB8F23">{{84}}%</circle-progress-bar>添加插件引用&#xff1a; <script>import CircleProgressBar from ../../com…

QT桌面挂件动画

目录 参考功能实现05DesktopPattern.promain.cppdesktoppattern.hdesktoppattern.cppwallpaper.hwallpaper.cpp 效果模糊知识点 参考 图片资源 功能 桌面挂件动画置顶切换挂件动画图片选择更换桌面壁纸显示时改变桌面壁纸&#xff0c;隐藏/退出时还原桌面壁纸系统托盘菜单&a…

R语言复现一篇6分的孟德尔随机化文章

上一期我们对孟德尔随机化做了一个简单的介绍&#xff0c;今天我们来复现一篇6分左右的使用了孟德尔随机化方法的文章&#xff0c;文章的题目是&#xff1a;Mendelian randomization analysis does not reveal a causal influence of mental diseases on osteoporosis&#xff…