Qt mysql数据库表的增加,删除,修改,查询操作

连接mysql数据库

bool MainWindow::connectToDatabase(QSqlDatabase &db, const QString &host, const QString &dbName, const QString &user, const QString &password)
{db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName(host);db.setDatabaseName(dbName);db.setUserName(user);db.setPassword(password);if (!db.open()) {qDebug() << "数据库连接失败:" << db.lastError().text();return false;} else {qDebug() << "数据库连接成功!";return true;}
}

增加数据库表的数据:

QString username=ui->lineEdit->text();
QString password=ui->lineEdit_2->text();
QSqlQuery query;
//QString username=ui->lineEdit->text();
query.prepare("insert into sys.user values(?,?)");
query.addBindValue(username);
query.addBindValue(password);
if(!query.exec()){qDebug()<<"无法插入数据";QMessageBox::information(NULL, "增加表数据","增加失败",QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
}else{
QMessageBox::information(NULL, "增加表数据","增加成功",QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
Dialog::close();
}

查询数据库中的数据:

QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");QString host="localhost";QString dbName="sys";QString user="root";QString password="12345";this->connectToDatabase(db,host,dbName,user,password);QSqlQuery query=this->queryDatabase(db,"select * from user");/*while (query.next()) {QString result = query.value(0).toString();QString result1 = query.value(1).toString();qDebug() << result<<"   "<<result1;}*/QSqlQueryModel *model=new QSqlQueryModel(ui->tableView);model->setQuery(query);//将查询结果绑定到模型上ui->tableView->setModel(model);

修改表中的数据:

QString username = ui->lineEdit_3->text();QString password = ui->lineEdit_2->text();QSqlQuery query;//QString username=ui->lineEdit->text();//QSqlQuery query;QString str=QString("update user set password = ? where username = ?");query.prepare(str);query.addBindValue(password);query.addBindValue(username);if (!query.exec()) {qDebug() << "更新失败:" << query.lastError().text();QMessageBox::information(NULL, "更新表数据","更新失败",QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);} else {qDebug() << "更新成功";QMessageBox::information(NULL, "更新表数据","更新成功",QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);Dialog1::close();}

删除表中的数据:

QString username = ui->lineEdit_3->text();QSqlQuery query;//QString username=ui->lineEdit->text();//QSqlQuery query;QString str=QString("delete from user where username='%1'").arg(username);if (!query.exec(str)) {qDebug() << "删除失败:" << query.lastError().text();} else {qDebug() << "删除成功";}

这就是Qt对数据库表的增加,删除,修改,查询操作的代码。

查询某个用户的数据:

 QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");QString host="localhost";QString dbName="sys";QString user="root";QString password="12345";this->connectToDatabase(db,host,dbName,user,password);QString username = ui->lineEdit_4->text();QSqlQuery query=this->queryDatabase(db,QString("select * from user where username = '%1'").arg(username));/*while (query.next()) {QString result = query.value(0).toString();QString result1 = query.value(1).toString();qDebug() << result<<"   "<<result1;}*/QSqlQueryModel *model=new QSqlQueryModel(ui->tableView);model->setQuery(query);//将查询结果绑定到模型上ui->tableView->setModel(model);

能够实现界面的跳转整体代码如下:https://download.csdn.net/download/qq_32663053/89160527

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

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

相关文章

OpenHarmony轻量系统开发【6】驱动之ADC按键

摘要&#xff1a;本文简单介绍如何操作ADC去读取电压&#xff0c;并且实现开发板上3个ADC按键检测的功能 适合群体&#xff1a;适用于润和Hi3861开发板&#xff0c;L0轻量系统驱动开发 文中所有代码仓库&#xff1a;https://gitee.com/qidiyun/hihope-3861-smart-home-kit 6…

如何识别伪装IP的网络攻击

伪装IP的网络攻击是一种通过篡改或伪造IP地址&#xff0c;冒充合法用户或服务器&#xff0c;发起恶意网络请求的攻击方式。这种攻击具有极强的隐蔽性&#xff0c;使得受害者在遭受攻击后难以找到真实的攻击者。为了识别伪装IP的网络攻击&#xff0c;我们可以采取以下几种方法&a…

yolov8调用zed实现三维跟踪测速

YOLOV8 + 双目实现三维跟踪测速 1. 相关工作2. 测速流程和原理(必读)3. 代码部分解析3.1 测距部分3.2 测速部分3.3 绘制轨迹3.4 主代码4. 实验结果5. 源码下载源码下载链接见文章末尾 1. 相关工作 本代码是在双目测距的基础上完成的,具体内容可见: yolov8直接调用zed相机…

代码随想录-哈希表 | 349 两个数组的交集

代码随想录-哈希表 | 349 两个数组的交集 LeetCode 349-两个数组的交集解题思路代码复杂度难点总结 LeetCode 349-两个数组的交集 题目链接 题目描述 给定两个数组 nums1 和 nums2 &#xff0c;返回它们的交集。输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的…

C语言处理流程

C语言对源代码处理的四个步骤: 预处理 -> 编译 -> 汇编 -> 链接 预处理 (gcc -E hello.c -o hello.i) 宏定义展开、头文件展开、条件编译&#xff0c;(这里并不会检查语法) 编译 (gcc -S hello.i -o hello.s) 检查语法&#xff0c;将预处理后文件编译生成汇编文件…

SpringBoot中使用Jackson序列化返回

SpringBoot中使用Jackson序列化返回 在Spring Boot应用中&#xff0c;使用Jackson库来处理JSON的序列化和反序列化是一种常见的做法。Jackson是一个高效的JSON处理器&#xff0c;广泛用于Java环境中&#xff0c;尤其是在与Spring框架集成时。本文将详细介绍如何在Spring Boot中…

ubuntu18.04安装F4PGA教程

环境搭建教程&#xff1a; f4pga-arch-defs/xilinx/xc7 at main f4pga/f4pga-arch-defs GitHub git clone https://github.com/SymbiFlow/f4pga-arch-defs.git cd f4pga-arch-defs make env cd build 主要是make env&#xff0c;会下载很多东西&#xff0c;然后生成很多描…

数据结构·一篇搞定顺序表!

大家好啊&#xff0c;几日不见&#xff0c;甚是想念&#xff0c;从这一篇文章开始&#xff0c;我们就要进入数据结构了哦&#xff0c;那么我们废话不多说&#xff0c;今天我们一起来搞定顺序表&#xff01;&#xff01;&#xff01; 1. 顺序表概念及结构 顺序表是一种线性结…

VBA脚本终章编译器崩溃

一、介绍 本篇文章为VBA脚本隐藏技术的最后一篇&#xff0c;将介绍如何在保证VBA脚本正常执行的情况下&#xff0c;使分析人员无法打开编译器。 那么为什么需要分析人员无法打开编译器呢&#xff1f; 首先&#xff0c;我们需要引入一个知识点。 在上篇《VBA隐藏技术stompin…

系统思考—战略

“有策略而无战术&#xff0c;是取胜之最慢之道。有战术而无策略&#xff0c;是败亡之前的嘈杂。”—孙子 最近接触的中小企业&#xff0c;充分能感受到在经济下行的情况下&#xff0c;组织与战略是不可分割的两个方面。有时候公司组织出现了问题&#xff0c;可能是因为战略不…

maven3.9的settings.xml 内容学习

settings.xml 文件介绍 settings.xml 是 Maven 的配置文件&#xff0c;它允许你自定义 Maven 的行为&#xff0c;比如设置仓库、代理、认证信息等。在 Maven 3.9 中&#xff0c;settings.xml 的结构和内容可能与之前的版本相似&#xff0c;但可能会有一些小的改进或变化。下面…

单分支:if语句

示例&#xff1a; /*** brief how about if? show you here.* author wenxuanpei* email 15873152445163.com(query for any question here)*/ #define _CRT_SECURE_NO_WARNINGS//support c-library in Microsoft-Visual-Studio #include <stdio.h>#define if_state…

MoJoCo 入门教程(七)XML 参考

系列文章目录 前言 表格第二列中的符号含义如下&#xff1a; ! 必填元素&#xff0c;只能出现一次 ? 可选元素&#xff0c;只能出现一次 * 可选元素&#xff0c;可多次出现 R 可选元素&#xff0c;可递归出现多次 一、简介 本章是 MuJoCo 中使用的 MJCF 建模语言的参考手册。…

Scala---集合(list,set)详解

一、List list集合有顺序&#xff0c;有索引&#xff0c;元素可重复 1、Nil 空列表 val lstNilprintln(Nil)//List()//向左侧添加一个元素,::起到右连接的作用。val lst18::(4::(0::Nil))println(lst1)//List(8, 4, 0)2、创建集合 //调用apply方法进行创建val list List(1,…

【投稿优惠|稳定检索】2024年低碳发展与地球科学国际会议 (LCDES 2024)

2024年低碳发展与地球科学国际会议 (LCDES 2024) 2024 International Conference on Low Carbon Development and Earth Science 【会议简介】 2024年低碳发展与地球科学国际会议即将在长沙盛大召开。本次会议将汇聚全球低碳发展与地球科学领域的专家学者&#xff0c;共同探讨…

如何快速成为顶尖项目经理?新手必看!

当今社会&#xff0c;万事皆项目&#xff0c;企业也面临着各种变化&#xff0c;企业项目管理的能力和水平对组织和个人的核心竞争力有着重要影响。 作为项目经理&#xff0c;需要养成持续学习的习惯和能力&#xff0c;具备顶级项目经理的专业水平和素养&#xff0c;才能使自己…

登录解析(前端)

登录代码 1、登录之后做了什么&#xff1f; 执行登陆方法&#xff0c;成功之后&#xff0c;路由跳转到指定路径或者根目录 2、this.$store.dispatch是什么意思&#xff1f; this.$store.dispatch(‘Login’, this.loginForm) 来调取store里的user.js的login方法3、this.$r…

Hive:transform和udf

工作中发现有时候会用到python脚本进行数据计算&#xff0c;但是现在貌似已经不这样再处理&#xff0c;一般使用封装好的udf函数。 transform的基本用法为&#xff1a; transform中的值作为输入&#xff0c; 然后传递给python脚本&#xff0c;最后经过python的处理后&#xf…

将MySQL数据库导入到EA模型的教程

将MySQL数据库导入到EA 1.下载安装mysql-connector-odbc2.在管理工具中新增ODBC数据源3.在EA中新建项目4.链接MYSQL数据源4.1 安装64位的ODBC驱动可能出现”在连接ODBC 时发生错误&#xff0c;请相关检查设置“的提示&#xff0c;卸载后重新安装32位ODBC驱动后可以正常执行 5.导…

vue纯前端实现表格分页及条件查询功能

由于接口返回数据过慢&#xff0c;故而采用前端对数据进行处理分页的方法实现表格分页及条件查询。 一、表格 表格采用elementUI的el-table&#xff0c;只需要对数据data进行处理赋值即可。 <el-table:data"tableData"style"width: 100%"><el-t…