QT+MYSQL数据库处理

1、打印Qt支持的数据库驱动,看是否有MYSQL数据库驱动

    qDebug() << QSqlDatabase::drivers();

有打印结果可知,没有MYSQL数据库的驱动

2、下载MYSQL数据库驱动,查看下面的文章配置,亲测,可以成功

Qt6 配置MySQL数据库的驱动_qt6 mysql-CSDN博客

3、连接数据库,如果打印open success说明MYSQL环境安装成功。

    QSqlDatabase db =QSqlDatabase::addDatabase ( "QMYSQL") ;//连接数据库db.setHostName("127.0.0.1"); //数据库服务器IPdb.setUserName("root") ; //数据库用户名db.setPassword("1234");//密码db.setDatabaseName("qtDb") ; //使用哪个数据库//打开数据库if( !db.open())//数据库打开失败{qDebug()<<"open err ";return;}qDebug()<<"open success ";

 4、我创建的表名是 test,然后有两个字段,使用的一些sql语句如下

show databases;create database qtDb;
use qtDb;create table test(
name character(20),
age int);select * from test;insert into test values("lh",18);update test set age=20 where name="lh" limit 1;

5、创建QT的UI界面

6、给ui界面控件命名

7、插入,生成插入按钮的槽函数

void Widget::on_insertPushButton_clicked()
{QString namestr = ui->insertNameLineEdit->text();int num = ui->insertAgeLineEdit_2->text().toInt();QString str = QString("insert into test values('%1', '%2')").arg(namestr).arg(num);QSqlQuery query;query.exec(str);qDebug()<<"insert success ";
}

8、测试插入函数,测试成功

9、查询代码, 将name作为关键词查询

void Widget::on_selectPushButton_2_clicked()
{QString searchName = ui->selectNameLineEdit_3->text();QString str = QString("select *from test where name = '%1'").arg(searchName);QSqlQuery query;query.exec(str);QString name;int age;while (query.next()){name = query.value(0).toString();age = query.value(1).toInt();}// QString str2 = "name:" + name +"\r\n" +"age:" + QString::number(age);QString str2 = QString("name:%1 \n age:%2").arg(name).arg(age);ui->selectTextEdit->setText(str2);
}

10、查询表格中所有数据

void Widget::on_selectAllPushButton_3_clicked()
{QString str = QString("select *from test");QSqlQuery query;query.exec(str);QString name;int age;QString text;while (query.next()){name = query.value(0).toString();age = query.value(1).toInt();text = text + "name:" + name +"   " +"age:" + QString::number(age) +"\r\n";}ui->selectAllTextEdit_2->setText(text);
}

11、完整工程代码

链接:https://pan.baidu.com/s/1ocgu1S8-FSFZFz4X8w7aRg?pwd=8888 
提取码:8888

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】centos7安装软件(rpm、yum、编译安装),补充:查找命令的相关文件路径,yum安装mysql

【Linux】技术上&#xff0c;Linux是内核。而术语上&#xff0c;我们通常说的Linux是完整的操作系统&#xff0c;其实称为"Linux发行版"&#xff0c;是将Linux内核和应用系统打包&#xff0c;由不同的发行家族发行了不同版本。Linux发行版众多&#xff0c;主要有RedH…

VScode通过ssh远程连接服务器被拒绝:permission denied, please try again

使用场景&#xff1a; 使用windows系统下的vscode远程连接服务器的linux系统&#xff0c;终端提示permission denied, please try again,但是使用cmd是可以远程登录的。 解决办法&#xff1a; 前提条件windows端的vscode安装了ssh远程连接的相关插件Remote - SSH&#xff0c;…

Spring Boot:让微服务开发像搭积木一样简单!

带你一探 Spring Boot 的自动配置和 Starter POMs 的神奇之处&#xff0c;展示如何通过几个简单的步骤就能让你的微服务应用在云端翱翔&#xff01; 文章目录 1. 引言1.1 简述Spring框架的起源与重要性1.2 阐述文章目的&#xff1a;深入解析Spring核心功能与应用实践2. 背景介绍…

Java面试之分布式篇

分布式锁的实现方案 &#xff08;1&#xff09;用数据库实现分布式锁比较简单&#xff0c;就是创建一张锁表&#xff0c;数据库对字段作唯一性约束。加锁的时候&#xff0c;在锁表中增加一条记录即可&#xff1b;释放锁的时候删除锁记录就行。如果有并发请求同时提交到数据库&…

String,StringBuilder,StringBuffer

String&#xff0c;StringBuffer&#xff0c;StringBuilder String类 概念:String是不可变类&#xff0c;即一旦一个String对象被创建&#xff0c;包含在这个对象中的字符序列是不可改变的&#xff0c;直至该对象被销毁&#xff0c;并且String类是final类&#xff0c;不能有子…

251 基于matlab的动态粒子群算法

基于matlab的动态粒子群算法。普通粒子群算法无法感知外界环境的变化&#xff0c;在外界环境发生改变时无法实时进行响应&#xff0c;因而缺乏动态环境寻优能力。在普通粒子群算法基本上通过增加敏感粒子得到一种动态粒子群算法&#xff0c;该算法通过实时计算敏感粒子的适应度…

【Linux】- Linux环境变量[8]

目录 环境变量 $符号 自行设置环境变量 环境变量 环境变量是操作系统&#xff08;Windows、Linux、Mac&#xff09;在运行的时候&#xff0c;记录的一些关键性信息&#xff0c;用以辅助系统运行。在Linux系统中执行&#xff1a;env命令即可查看当前系统中记录的环境变量。 …

论文笔记模版

1. 摘要 1.1 背景 1.2 挑战 1.3 提出新方法 1.4 贡献 2. 引言 2.1 背景&#xff08;引出问题&#xff09; ①介绍大背景&#xff1a; ② 应用场景&#xff1a; ③ 介绍主题&#xff1a; 2.2 引出挑战 一般用图表来展现出我们的挑战&#xff08;直观&#xff0c;解决什…

Weblogic < 10.3.6 ‘wls-wsat‘ XMLDecoder 反序列化漏洞(CVE-2017-10271)

1 漏洞概述 CVE-2017-10271 是一个存在于 Oracle WebLogic Server 10.3.6 以下版本中的 XMLDecoder 反序列化漏洞。此漏洞源于 WebLogic 的 WLS-WebServices 核心组件&#xff0c;该组件使用 XMLDecoder 来解析用户传入的 XML 数据。由于 XMLDecoder 在处理某些特定格式的 XML…

吴恩达 深度学习 神经网络 softmax adam 交叉验证

神经网络中的层&#xff1a;输入层&#xff08;layer 0&#xff09;、隐藏层、卷积层&#xff08;看情况用这个&#xff09;、输出层。&#xff08;参考文章&#xff09; 激活函数&#xff1a; 隐藏层一般用relu函数&#xff1b; 输出层根据需要&#xff0c;二分类用sigmoid&…

算法笔记——数位DP

一、前置知识 1.DP小知识 D P DP DP 是一种算法思想&#xff0c;用递推方程的方式解决问题。但是使用它要满足如下性质&#xff1a; 最优子结构&#xff1a; 子结构优秀&#xff0c;整个就优秀。无后效性&#xff1a;当前决策不会影响后面。 2.DP实现方法 众所周知&#xf…

【解决】Android APK文件安装时 已包含数字签名相同APP问题

引言 在开发Android程序过程中&#xff0c;编译好的APK文件&#xff0c;安装至Android手机时&#xff0c;有时会报 包含数字签名相同的APP 然后无法安装的问题&#xff0c;这可能是之前安装过同签名的APP&#xff0c;但是如果不知道哪个是&#xff0c;无法有效卸载&#xff0c;…

Linux——进程间通信

目录 一、进程通信的初步认识 1.1 进程间通信目的 1.2 进程间通信的种类 管道&#xff08;Pipes&#xff09; System V IPC POSIX IPC 三、管道 3.1 知识铺垫 3.2 匿名管道 3.2.1 基本概念 3.2.2 测试用例&#xff1a; 3.3 管道的行为 3.4 命名管道 3.4.1 基本概念…

生产设备数据管控要怎么做 可以实现精益生产和智能制造?

生产设备在制造过程中会产生多种类型的数据&#xff0c;这些数据对于优化生产流程、提高效率、降低成本和预防性维护等方面至关重要。需要对这些数据进行有效的采集和管理&#xff0c;以实现对生产设备数据管控。 一、生产设备数据类型包括&#xff1a; 设备运行状态数据&…

机器学习周报第三十八周 iTransformer

文章目录 week38 iTransformer摘要Abstract一、文献阅读1. 题目2. abstract3. 网络架构**转置Embedding&#xff1a;****LayerNorm&#xff08;层归一化&#xff09;****Feed-forward network&#xff08;前馈网络&#xff09;****Multivariate-Attention&#xff08;多变量注意…

【Linux 网络】网络编程套接字 -- 详解

⚪ 预备知识 1、理解源 IP 地址和目的 IP 地址 举例理解&#xff1a;&#xff08;唐僧西天取经&#xff09; 在 IP 数据包头部中 有两个 IP 地址&#xff0c; 分别叫做源 IP 地址 和目的 IP 地址。 如果我们的台式机或者笔记本没有 IP 地址就无法上网&#xff0c;而因为…

【UnityUI程序框架】The PureMVC Framework[一]底层源码中文详解

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

推导 模型矩阵的逆转置矩阵求运动物体的法向量

一个物体表面的法向量如何随着物体的坐标变换而改变&#xff0c;取决于变换的类型。使用逆转置矩阵&#xff0c;可以安全地解决该问题&#xff0c;而无须陷入过度复杂的计算中。 法向量变化规律 平移变换不会改变法向量&#xff0c;因为平移不会改变物体的方向。 旋转变换会改…

Python 全栈系列244 nginx upstream 负载均衡 踩坑日记

说明 最初是因为租用算力机(Python 全栈系列242 踩坑记录:租用算力机完成任务)&#xff0c;所以想着做一个负载均衡&#xff0c;然后多开一些服务&#xff0c;把配置写在nginx里面就好了。 一开始租用了一个3080起了一个服务&#xff0c;后来觉得速度不够快&#xff0c;再起了…

基于地平线J6E,「吃蟹者」易航智能重塑高速NOA

作者 |张祥威 编辑 |德新 一批基于地平线J6E的智驾方案将要到来&#xff0c;高速NOA领域很快会变天。 易航智能是这批智驾方案公司中的一家。 近日在北京车展&#xff0c;这家公司推出一套基于地平线J6 E的7V1R方案&#xff0c;可以实现城市记忆领航、高速NOA、记忆泊车、L2…