MySql8.0 + Qt 对数据库操作 - 初窥篇1

news2025/2/25 2:08:40

一、开发背景

        32 位程序连接 64 位的数据库实例

二、开发环境

  QtCreator4.8.2 + Qt5.12.2 + MySql8.0.33

三、实现步骤

  1、测试驱动代码 + 测试结果

int main(int argc, char *argv[])
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");    // 可以是本机 localhost 也可以是外网网址
    db.setDatabaseName("mysql");    // 数据库名
    db.setUserName("root");         // 用户名
    db.setPassword("123");          // 用户密码
    
    /* 连接数据库 */
    if (!db.open())
    {
        qDebug() << "Failed to connect to the database:";
        qDebug() << db.lastError().text();
        return -1;
    }
    
    /* 遍历数据库的一个数据表 */
    QSqlQuery query;
    if (query.exec("SELECT * FROM  user"))
    {
        while (query.next()) 
        {
            QString column1 = query.value(0).toString();
            QString column2 = query.value(1).toString();
            // ...
            qDebug() << column1 << column2;
        }
    }
    else
    {
        qDebug() << "Failed to execute SELECT query:";
        qDebug() << query.lastError().text();
    }
    
    /* 断开数据库 */
    db.close();
    return 0;
}

  2、遇到问题

             "SSL connection error: unknown error number QMYSQL: Unable to connect"

     编译库不支持SSL,需要关闭数据库的 SSL功能 

     解决方法:在数据库的 my.ini 配置文件中的 [mysqld] 后面添加 skip_ssl,即跳过 ssl 功能

     注意:如果更改后出现终端无法登录的问题,重置密码,操作如下

            参考链接:https://www.cnblogs.com/zhurong/p/9898675.html

   (1)修改 my.ini 文件先登录进去。

   (2)ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则 

   (3)ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';   #更新一下用户的密码 

   (4)FLUSH PRIVILEGES;   #刷新权限 

   (5)alter user 'root'@'localhost' identified by 'password';

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

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

相关文章

CTF之信息收集

什么是信息收集 信息收集是指通过各种方式获取所需要的信息&#xff0c;以便我们在后续的渗透过程更好的进行。最简单的比如说目标站点的IP、中间件、脚本语言、端口、邮箱等等。我觉得信息收集在我们参透测试的过程当中&#xff0c;是最重要的一环&#xff0c;这一环节没做好…

笔记01:随机过程——随机游动

一、伯努利随机过程 1. n次伯努利实验中&#xff08;x1&#xff09;发生的总次数Yn&#xff1a; (二项分布) 2. 伯努利实验中事件第一次发生的时间L1&#xff1a; &#xff08;几何分布&#xff09; 3. n次伯努利实验中事件第k次发生的时间Lk&#xff1a; &#xff08;帕斯卡分…

科技云报道:押注向量数据库,为时过早?

科技云报道原创。 在大模型的高调火热之下&#xff0c;向量数据库也获得了前所未有的关注。 近两个月内&#xff0c;向量数据库迎来融资潮&#xff0c;Qdrant、Chroma、Weaviate先后获得融资&#xff0c;Pinecone宣布1亿美元B轮融资&#xff0c;估值达到7.5亿美元。 东北证券…

小谈设计模式(22)—单例模式

小谈设计模式&#xff08;22&#xff09;—单例模式 专栏介绍专栏地址专栏介绍 单例模式点睛所在优缺点分析优点确保只有一个实例全局访问点节省资源线程安全 缺点难以扩展对象的生命周期单一职责原则隐藏依赖关系 Java程序实例实例a分析实例b&#xff0c;更安全分析优化 ——“…

Git 学习笔记 | Git 基本理论

Git 学习笔记 | Git 基本理论 Git 学习笔记 | Git 基本理论Git 工作区域Git 工作流程 Git 学习笔记 | Git 基本理论 Git 工作区域 Git本地有三个工作区域&#xff1a;工作目录&#xff08;Working Directory&#xff09;、暂存区(Stage/Index)、资源库(Repository或Git Direc…

【Kubernetes】当K8s出现问题时,我们可以从哪些方面排查出

前言 kubernetes&#xff0c;简称K8s&#xff0c;是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xff0c;Kubernetes的目标是让部署容器化的应用简单并且高效&#xff08;powerful&#xff09;,Kub…

高级 I/O【Linux】

阅读前导&#xff1a; “高级 I/O”处于知识树中网络和操作系统的最后&#xff0c;因此本文默认读者有计算机网络和操作系统的基础。 1. 什么是 I/O 下面以“流”&#xff08;stream&#xff09;和冯诺依曼体系架构的视角来简单回顾一下什么是 I/O&#xff1a; I/O可以理解…

bin-editor-next实现josn序列化

线上链接 BIN-EDITOR-NEXThttps://wangbin3162.gitee.io/bin-editor-next/#/editor gitee地址bin-editor-next: ace-editor 的vue3升级版本https://gitee.com/wangbin3162/bin-editor-next#https://gitee.com/link?targethttps%3A%2F%2Funpkg.com%2Fbin-editor-next%2F 实现…

规则引擎(JVS-rules):从应用到场景的全面解析

JVS-RULES规则引擎是一款可视化的业务规则设计器&#xff0c;它的核心功能在于可集成多种数据源&#xff0c;包括多种类型数据库和API&#xff0c;将数据进行界面可视化的加工处理后&#xff0c;形成策略节点所需要的各种变量&#xff0c;然后通过规则的可视化编排&#xff0c;…

2.3 物理层下面的传输媒体

思维导图&#xff1a; 前言&#xff1a; 2.3 物理层下的传输媒体 --- **传输媒体概述**&#xff1a; 传输媒体&#xff0c;又称传输介质或传输媒介&#xff0c;它是连接发送器与接收器之间的物理路径&#xff0c;扮演着在这两者之间传递数据的角色。 --- **分类**&#x…

李宏毅 2022机器学习 HW3 boss baseline 上分记录

作业数据是所有数据都有标签的版本。 李宏毅 2022机器学习 HW3 boss baseline 上分记录 1. 训练数据增强2. cross validation&ensemble3. test dataset augmentation4. resnet 1. 训练数据增强 结论&#xff1a;训练数据增强、更长时间的训练、dropout都证明很有效果&…

Gooxi全面拥抱AIGC时代,让智慧算力触手可及

8月31日凌晨&#xff0c;百度正式宣布文心一言全面对外开放&#xff0c;打响了国内大模型上线的第一枪&#xff0c;紧接着五家国内大模型相继对外开放。当前AIGC已经成为业内竞相追逐的热点与重构产业生产力的关键&#xff0c;在生物医药、材料分析、自动驾驶、元宇宙等领域已逐…

兼容性测试的定义和目标是什么

兼容性测试是通过在各种操作系统、浏览器、设备等多样化环境下测试软件&#xff0c;以验证其在这些环境中的稳定性和一致性。兼容性测试的目标是确保软件在不同平台上具有一致的功能、性能和用户体验&#xff0c;以满足广大用户的需求。 一、兼容性测试的定义和目标 兼容性测试…

进程间通信-信号概述

一、信号的概念 信号是一种进程间通信的机制&#xff0c;用于在软件层面上对异步事件进行通知。信号通常是由操作系统或其他进程发送给目标进程的一种通知&#xff0c;以指示发生了某种事件或条件。这样的事件可能包括硬件异常、用户输入、定时器到期、子进程状态变化等。 引发…

C# OpenCvSharp 实现迷宫解密

效果 项目 代码 using OpenCvSharp; using System; using System.Drawing; using System.Windows.Forms;namespace OpenCvSharp_实现迷宫解密 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e…

Python实现AES算法和国密SM4算法

本文主要介绍使用AES加密算法的Python实现和shell脚本实现、SM4国密算法的Python实现。Python使用pycryptodome实现AES加解密、使用GmSSL实现SM4加解密算法&#xff1b;Shell脚本使用openssl实现AES加解密&#xff0c;详细见下文。 1、Python实现加密和解密 1.1 Python实现AES…

最新AI创作系统源码ChatGPT网站源码V2.6.3/支持Midjourney绘画/支持OpenAI GPT全模型+国内AI全模型

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统&#xff0c;支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Chat…

《人间失格》阅读笔记

《人间失格》读书笔记 2023年10月7日读完&#xff0c;在过去的三个月时间内&#xff0c;有忙碌申博、从杭州辞职回家、准备入学、到澳门入学的事情&#xff0c;终于忙完了这些所有事情&#xff0c;回到了横琴的小房子里读完了这本书。 这本书前半部分讲了主角&#xff0c;作为…

香港Web3.0生态现状

目前香港Web3.0生态正在快速发展。香港政府和金融机构正在积极推动Web3.0生态的建设&#xff0c;以推动数字经济和智慧城市的发展。香港政府已经发布了有关虚拟资产发展的政策宣言&#xff0c;鼓励和监管并重&#xff0c;加大力度推动虚拟资产产业向前发展。同时&#xff0c;香…

【用unity实现100个游戏之14】Unity2d做一个建造与防御类rts游戏

前言 欢迎来到本次教程&#xff0c;我将为您讲解如何使用 Unity 引擎来开发一个建造与防御类 RTS&#xff08;即实时战略&#xff09;游戏。 在本教程中&#xff0c;我们将学习如何创建 2D 场景、设计 2D 精灵、制作 2D 动画、响应用户输入、管理游戏数据、以及其他有关游戏开…