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"); //数据库服务器IP
    db.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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【教程向】从零开始创建浏览器插件(二)深入理解 Chrome 扩展的 manifest.json 配置文件

第二步&#xff1a;深入理解 Chrome 扩展的 manifest.json 配置文件 上一次我们已经着手完成了一个自己的浏览器插件&#xff0c;链接在这里&#xff1a;我是链接 在本篇博客中&#xff0c;我们将更详细地探讨 Chrome 扩展中的 manifest.json 文件。这个文件是每个浏览器扩展…

UBOOT介绍

一、UBOOT简介 U-boot全称 Universal Boot Loader&#xff0c;是遵循GPL条款的开放源码项目&#xff0c;uboot 是一个裸机代码&#xff0c;可以看作是一个裸机综合例程&#xff0c;执行启动内核的功能。 补充&#xff1a;GPL条款&#xff08;GNU General Public License&…

在线教程|二次元的福音!一键部署APISR,动漫画质飞跃升级

从守护城市安全的「火眼金睛」&#xff0c;到探索人体奥秘的医学之窗&#xff0c;再到娱乐产业的视觉盛宴&#xff0c;乃至遥望宇宙的卫星视角&#xff0c;超分辨率技术重塑着我们观察世界的新维度&#xff0c;让每一寸画面绽放前所未有的清晰与真实。 近年来&#xff0c;越来…

PyQt6--Python桌面开发(5.QLabel标签控件)

一.PyQt6常用基本控件 QT Designer设计器中默认对控件进行了分组 二.文本类控件 三.QLabel标签控件 3.1设置标签文本 3.2设置标签文本的对齐方式 3.3设置文本换行显示 self.label.setWordWrap(True)3.4为标签设置超链接 self.label.setOpenExternalLinks(True)3.5为标签设置…

bean在java中什么意思?这篇文章带你详细了解

bean在java中什么意思&#xff1f;这篇文章带你详细了解 在Java的世界里&#xff0c;你可能会经常听到“Bean”这个词。它听起来像咖啡豆&#xff0c;但实际上与咖啡无关。那么&#xff0c;Java Bean到底是什么呢&#xff1f; 简单来说&#xff0c;Bean是一种特殊的Java类&…

如何使用Whisper音频合成模型

Whisper 是一个通用语音识别模型&#xff0c;由 OpenAI 开发。它可以识别多种语言的语音&#xff0c;并将其转换为文本。Whisper 模型采用了深度学习技术&#xff0c;具有高准确性和鲁棒性。 1、技术原理及架构 Whisper 的工作原理&#xff1a;音频被分割成 30 秒的片段&#…

【机器学习300问】84、AdaGrad算法是为了解决什么问题?

神经网络的学习的目的是找到使损失函数的值尽可能小的参数。这是寻找最优参数的问题&#xff0c;解决这个问题的过程称为最优化。因为参数空间非常复杂&#xff0c;无法轻易找到最优解&#xff0c;而且在深度神经网络中&#xff0c;参数的数量非常庞大&#xff0c;导致最优化问…

更新、简略高效的用git(Gitee篇)

前提&#xff1a;因为很多编译软件虽然可以连接git&#xff0c;但是操作起来还是比较懵&#xff0c;不同软件有不同的上传git的方式&#xff0c;而且有的连着GitHub有的是Gitee&#xff0c;那么使用Git Bash无疑是万无一失的方式 然后这一篇也仅针对上传Gitee&#xff0c;上传G…

自动化中遇到的问题归纳总结

1、动态元素定位不到 解决方法&#xff1a;尽量使用固定元素定位&#xff0c;如没有固定元素&#xff0c;则采用绝对路径进行定位&#xff0c;因为元素路径是唯一且不变的 2、自动化脚本执行速度较慢 尽量使用css方法定位元素&#xff0c;使用等待时&#xff0c;少用sleep方…

【双碳系列】碳中和、碳排放、温室气体、弹手指、碳储量、碳循环及leap、cge、dice、openLCA模型

气候变化是当前人类生存和发展所面临的共同挑战&#xff0c;受到世界各国人民和政府的高度关注 ①“双碳”目标下资源环境中的可计算一般均衡&#xff08;CGE&#xff09;模型实践技术应用 可计算一般均衡模型&#xff08;CGE模型&#xff09;由于其能够模拟宏观经济系统运行…

【机器学习】逻辑化讲清PCA主成分分析

碎碎念&#xff1a;小编去年数学建模比赛的时候真的理解不了主成分分析中的“主成分”的概念&#xff01;&#xff01;但是&#xff0c;时隔两年&#xff0c;在机器学习领域我又行了&#xff0c;终于搞明白了&#xff01;且看正文&#xff01;再分享一个今天听到的播客中非常触…

【网络安全入门】新手如何参加护网行动?一篇带你零基础入门到精通

前言 “没有网络安全就没有国家安全”。 当前&#xff0c;网络安全已被提升到国家战略的高度&#xff0c;成为影响国家安全、社会稳定至关重要的因素之一。 一、网络安全行业特点 行业发展空间大&#xff0c;岗位非常多 网络安全行业产业以来&#xff0c;随即新增加了几十个…

LaTeX公式学习笔记

\sqrt[3]{100} \frac{2}{3} \sum_{i0}^{n} x^{3} \log_{a}{b} \vec{a} \bar{a} \lim_{x \to \infty} \Delta A B C

自动驾驶系统中的端到端学习

资料下载-《自动驾驶系统中的端到端学习&#xff08;2020&#xff09;》https://mp.weixin.qq.com/s/ttNpsn7qyVWvDMZzluU_pA 近年来&#xff0c;卷积神经网络显著提高了视觉感知能力。实现这一成功的两个主要因素是将简单的模块组合成复杂的网络和端到端的优化。然而&#xf…

哪里有高清视频素材软件?哪里有视频素材网站?

在这个视觉内容至关重要的时代&#xff0c;高质量的视频素材不仅能够增强信息传递的效果&#xff0c;还能显著提升观众的观看体验。接下来介绍的这些视频素材网站&#xff0c;将为您的创作提供广泛的选择&#xff0c;从本土到国际&#xff0c;满足您不同的需求和偏好。 1. 蛙学…

ICode国际青少年编程竞赛- Python-2级训练场-识别循环规律2

ICode国际青少年编程竞赛- Python-2级训练场-识别循环规律2 1、 for i in range(3):Dev.step(3)Dev.turnRight()Dev.step(4)Dev.turnLeft()2、 for i in range(3):Spaceship.step(3)Spaceship.turnRight()Spaceship.step(1)3、 Dev.turnLeft() Dev.step(Dev.x - Item[1].…

CrossManager软件安装

目录 一、CrossManager软件 1.1 下载安装程序&#xff1a; 1.2 注册-登录 1.3 运行安装程序 1.4 完成安装&#xff1a; 1.5 激活软件&#xff1a; 文章底部可获取安装包---CrossManager软件安装&#xff08;有效期30天&#xff09; 当涉及到专业的软件安装和配置时&…

Java Web 学习笔记(一) —— MySQL(3)

目录 1 Mysql 函数1.1 日期函数1.2 判断函数1.3 字符函数1.4 数学函数 2 Mysql 性能2.1 提高操作数据库性能2.2 执行次数比较多的语句2.3 sql语句的执行效率 3 Mysql 优化&#xff08;***&#xff09;3.1 定位慢查询3.2 SQL执行计划3.3 索引3.3.1 索引介绍与分类3.3.2 索引的使…

Python 3 中zip()函数的用法

1 创作灵感 我们在阅读代码的时候&#xff0c;经常会看到zip函数&#xff0c;有的时候还和循环在一起用&#xff0c;今天举几个例子测试一下该函数的用法 2.应用举例 &#xff08;1&#xff09;定义了两个列表一个是num,一个是letter (2)使用zip可以把num列表和letter列表中…

大模型微调之 在亚马逊AWS上实战LlaMA案例(七)

大模型微调之 在亚马逊AWS上实战LlaMA案例&#xff08;七&#xff09; 微调SageMaker JumpStart上的LLaMA 2模型 这是在us-west-2的测试结果。 展示了如何使用SageMaker Python SDK部署预训练的Llama 2模型&#xff0c;并将其微调到你的数据集&#xff0c;用于领域适应或指令…