QT----QTcreater连接Mysql数据库

news2024/11/18 9:25:49

目录

  • 1、下载驱动,放入文件夹
  • 2、编写代码,实现本地访问
  • 3、实现网络数据库
    • 3.1 更改权限
    • 3.2 修改代码

之前写了一个图书管理系统用的是sqlite3,现在想用mysql,部署到网上,实现远程访问。

1、下载驱动,放入文件夹

首先,我的qt6没有安装mysql的驱动需要自己下载放入mysql驱动github链接
在这里插入图片描述
下载完成后解压放入对应的qt安装路径路径E:\VS2022\VSQT\6.4.3\mingw_64\plugins\sqldrivers

在这里插入图片描述
把文件夹外边另外三个文件复制到qt的bin里边
在这里插入图片描述

2、编写代码,实现本地访问

我在之前已经在mysql里重新制作了表格,只替换了连接数据的代码,其余代码功能一切正常。


void sqlmange::init()
{
    // 打开数据库
    // 使用 QMYSQL3 数据库驱动
    m_db = QSqlDatabase::addDatabase("QMYSQL");

    // 设置数据库名称
    // 数据库名为 bookmg
    m_db.setDatabaseName("bookmg");

    // 设置数据库用户名和密码
    // 用户名为 root,密码为
    m_db.setUserName("root");
    m_db.setPassword("xxxxxx");

    // 设置数据库服务器地址
    // 服务器地址为 localhost
    m_db.setHostName("localhost");

    // 打开数据库
    // 并输出打开结果到调试信息
    qDebug() <<"数据库连接:"+ m_db.open();
}

3、实现网络数据库

cmd里输入ipconfig,查询自己当前连接的网络的ip放入连接,此时显示我的电脑不允许访问这个数据区,那就是权限的问题
在这里插入图片描述
在这里插入图片描述但是我发现我新建的库没有权限的表,所以我把我的表
都移动了,放入了mysql这个数据库里,并且把user表的表名更改为了usertb
在这里插入图片描述

3.1 更改权限

打开MySQL 8.0 Command Line Client,准备更改权限。
首先show databases;查看所有的数据库
在这里插入图片描述

然后use mysql;进入mysql数据库

在这里插入图片描述
show tables;显示表,其中user表里是存放了权限
在这里插入图片描述
select user,host from user;进入user表
在这里插入图片描述
update user set host = '%' where user = 'root';更新权限
在这里插入图片描述
flush privileges;刷新数据库,这样就完成了,通过了网络访问了数据库
在这里插入图片描述

3.2 修改代码

在qt里修改代码,就能够访问,debug能访问数据库,但是我打包程序单独使用无法访问

void sqlmange::init()
{
    // 打开数据库
    // 使用 QMYSQL 数据库驱动
    m_db = QSqlDatabase::addDatabase("QMYSQL");

    // 设置数据库名称
    // 数据库名为 my_database
    m_db.setDatabaseName("mysql");

    // 设置数据库用户名和密码
    // 用户名为 root,密码为 123456
    m_db.setUserName("root");
    m_db.setPassword("xxx");

    // 设置数据库服务器地址
    // 服务器地址为 localhost
    m_db.setHostName("xxx");
    m_db.setPort(xxx);

    // 打开数据库
    // 并输出打开结果到调试信息
    qDebug() <<"数据库连接:"+ m_db.open();
}

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

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

相关文章

VR虚拟生态探索介绍|元宇宙文旅|VR设备价格

虚拟现实&#xff08;VR&#xff09;虚拟生态探索是一种通过VR技术让用户体验并探索虚拟环境的活动。在这样的环境中&#xff0c;用户可以通过头戴式显示器和其他感知设备沉浸在一个虚拟的世界中&#xff0c;仿佛身临其境。 在VR虚拟生态探索中&#xff0c;用户可以探索各种不同…

IDEA中如何配置多个版本的JDK

1.首先创建一个Project. 2.点击菜单栏中的File,而后选择Project Structure. 3.进入该界面后点击SDK选择想要选择的jdk版本。 4.如果提供的jdk版本没有自己想要的&#xff0c;就点击ADD SDK,点击DownLoad JDK; 5.在弹出的窗口选择jdk的版本和想要下载到的位置。 6.下载成功…

Mysql删除重复项:力扣196. 删除重复的电子邮箱

题目链接&#xff1a;196. 删除重复的电子邮箱 - 力扣&#xff08;LeetCode&#xff09; 题目描述 sql语句 # Write your MySQL query statement below delete a from person as a inner join person as b where a.email b.email and a.id > b.id 思路&#xff1a;内连接…

Spring事件发布监听器ApplicationListener原理- 观察者模式

据说监听器模式也是mq实现的原理, 不过mq我还没来得及深入学习, 先用spring来理解一下吧 Spring事件发布监听器ApplicationListener原理- 观察者模式 什么是观察者模式一个Demo深入认识一下观察者模式Spring中的事件发布监听ps 什么是观察者模式 大家都听过一个故事叫做烽火戏…

GPT-4 及更高版本:大型语言模型的力量

GPT-4革命&#xff1a;人工智能如何重塑SEO行业 在人工智能领域&#xff0c;GPT-4 等语言模型的演变标志着一个重要的里程碑。 本文深入探讨了 GPT-4 的功能和潜力&#xff0c;同时也思考了人工智能领域的未来。 GPT-4 的出现&#xff1a;人工智能的新时代OpenAI 开发的 GPT-4…

MySQL 缓存策略

MySQL 缓存方案用来干什么 ? 缓存用户定义的热点数据&#xff0c;用户直接从缓存中获取热点数据&#xff0c;降低数据的读写压力。场景分析 内存访问速度是磁盘访问速度的 10 万倍。读的需求远远大于写的需求MySQL 自身缓冲层跟业务无关。MySQL 作为项目主要数据库&#xff0…

idea:springboot项目搭建

目录 一、创建项目 1、File → New → Project 2、Spring Initializr → Next 3、填写信息 → Next 4、web → Spring Web → Next 5、填写信息 → Finish 6、处理配置不合理内容 7、注意事项 7.1 有依赖包&#xff0c;却显示找不到依赖&#xff0c;刷新一下maven 二…

word转PDF的方法 简介快速

在现代办公环境中&#xff0c;文档格式转换已成为一项常见且重要的任务。其中&#xff0c;将Word文档转换为PDF格式的需求尤为突出&#xff0c;将Word文档转换为PDF格式具有多方面的优势和应用场景。无论是为了提高文档的可读性和稳定性、保障文档的安全性和保护机制、还是为了…

赛力斯造车引入强援,原华为智选车产品部部长加盟,任集团副总裁

作者 |德新 编辑 |王博 HiEV从多个信息源获悉&#xff0c;赛力斯造车近日引入一位业界大牛。原华为智选车产品部部长李博已于近日加盟&#xff0c;出任赛力斯集团副总裁。 李博是服役华为多年的老将&#xff0c;长期供职于华为终端生态。在华为体系中&#xff0c;产品部部长相…

Java基础数据结构之队列

一.什么是队列 队列是一种先进先出的数据结构&#xff0c;也就是从左边进从右边出&#xff0c;或者说&#xff0c;只允许在一端插入元素&#xff0c;在另一端删除元素 进行插入操作的一端称为队尾&#xff08;tail/rear&#xff09;&#xff0c;删除操作的一段称为队头&#…

MyBatis源码分析之基础支持层异常模块

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ &#x1f440;&#x1f440;&#x1f440; 个人博客&#xff1a;小奥的博客 &#x1f44d;&#x1f44d;&#x1f44d;&#xff1a;个人CSDN ⭐️⭐️⭐️&#xff1a;传送门 &#x1f379; 本人24应届生一枚&#xff0c;技术和水平有限&am…

mac版本的vscode如何运行html文件

1.安装Live Server扩展 需在VS中安装一个拓展插件Live Server&#xff0c;插件寻找方法如下&#xff1a; 2.编写HTML文件 3.启动Live Server 在VSCode中打开你的HTML文件&#xff0c;并点击右键选择"Open with Live Server"&#xff0c;或者点击右下角的"Go…

安卓类加载机制

目录 一、ClassLoader介绍二、双亲委托机制三、类的加载过程 一、ClassLoader介绍 任何一个 Java 程序都是由一个或多个 class 文件组成&#xff0c;在程序运行时&#xff0c;需要将 class 文件加载到 JVM 中才可以使用&#xff0c;负责加载这些 class 文件的就是 Java 的类加…

Apache POI处理Miscrosoft Office 各种文件格式的开源项目

介绍: 应用场景 maven 坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version></dependency><dependency><groupId>org.apache.poi</groupId><artifa…

支付宝小程序模板开发,实现代小程序备案申请

大家好&#xff0c;我是小悟 支付宝小程序备案整体流程总共分为五个环节&#xff1a;备案信息填写、平台初审、工信部短信核验、通管局审核和备案成功。 服务商可以代小程序发起备案申请。在申请小程序备案之前&#xff0c;需要确保小程序基本信息已填写完成、小程序至少存在一…

Java_优先级队列(堆)(Priority Queue)

文章目录 一、优先级队列1.概念 二、优先级队列的模拟1.堆的概念2.堆的存储方式3.堆的创建1、堆向下调整2、堆的创建代码实现3、建堆的时间复杂度 2.堆的插入与删除1、堆的插入2、堆的删除3、完整的堆代码4、练习 一、PriorityQueue常用接口介绍1.PriorityQueue的特性2.Priorit…

Java项目:38 springboot005学生心理咨询评估系统

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 学生心理咨询评估系统有管理员和用户 【主要功能】 用户管理、试题管理、试卷管理、考试管理 【技术组成】 SpringBoot MyBatis Vue Boots…

Android Studio开发(一) 构建项目

1、项目创建测试 1.1 前言 Android Studio 是由 Google 推出的官方集成开发环境&#xff08;IDE&#xff09;&#xff0c;专门用于开发 Android 应用程序。 基于 IntelliJ IDEA: Android Studio 是基于 JetBrains 的 IntelliJ IDEA 开发的&#xff0c;提供了丰富的功能和插件…

QT 解决在线安装版本下载速度(以国内镜像启动安装器的方式)

关于Fiddler输入steam的教程&#xff0c;本人试过&#xff0c;无效略过… 正确方式 具体操作方法&#xff1a; 1.方式一、未安装过QT 下载好安装器之后&#xff0c;在安装器&#xff08;qt-unified-windows-x64-4.6.0-online.exe&#xff09;的文件夹中空白处&#xff0c;按…

第八篇:预测受众(Predictive audience)技术是如何赋能数字化营销生态的?- 我为什么要翻译介绍美国人工智能科技巨头IAB公司

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先后为700多家媒…