Qt使用QSqlTableModel界面显示用法(三、删除功能)

关于QSqlTableModel的使用说明(QT上创建本地SQL) 前言:通常我们操作数据库时,需要使用sql语句;在qt开发环境中提供了QSqlTableModel类,它可以通过简单的接口去操作数据库,即使不熟悉sql语句也可以对数据库进行大部分的操作,而且该模型还具有数据缓存功能,在修改数据后并不是立刻同步到数据库中,允许用户进行数据撤回,如果已经提交到数据库的数据就不能进行撤回了;QSqlTableModel还有一个非常方便的操作就是它可以将数据库的所有记录显示到QTableView控件上,并可以直接通过QTableView控件对数据库任意位置的数据进行修改。下面就Q 阅读详情

删除功能,为了介绍方便,我将采用选中当前行进行删除操作

当然,考虑到误操作的可能性,我们在删除前会进行提示,提示我们选择使用QMessageBox
代码如下:

void MainWindow::on_pushButton_2_clicked()
{
    int row = ui->tableView->currentIndex().row();//记录当前选择行
    if(QMessageBox::Yes == QMessageBox::question(this,"Make Sure","确定删除第"+QString::number(row+1)+"行吗?",QMessageBox::Yes | QMessageBox::No , QMessageBox::Yes))
    {//提示框,防止误操作,是/否,按下是的操作后
        QSqlTableModel * model = new QSqlTableModel(this,db);//新建model
        model->setTable("EXAMPLE");//设置表
        if(model->select())//判断是否为空表
            model->removeRow(row);//删除当前行
        model->submitAll();//提交修改的数据
        ui->tableView->setModel(model);//设置模型
        model->select();//显示修改后的数据
    }
}

视觉上

~~~
继续下一节:修改功能

2024年Qt数据库(六)QSqlTableModel_qsqltablemodel onmanualsubmit,2024年最新C C++程序员必经的实践之路 我们将“陈刚”改为“李强”,如果我们点击“撤销修改”,那么它就会重新改为“陈刚”,而当我们点击“提交修改”后它就会保存到数据库,此时再点击“撤销修改”就修改不回来了。query.exec(QObject::tr(“insert into student values (1,’陈刚’)”));void Widget::on_pushButton_2_clicked() //撤销修改。 阅读详情

相关推荐

Qt数据库(六)QSqlTableModel_qsqltablemodel onmanualsubmit

我们这里使用了setSort()函数进行排序,它有两个参数,第一个参数表示按第几个属性排序,表头从左向右,最左边是第0个属性,这里就是id属性。我们将“陈刚”改为“李强”,如果我们点击“撤销修改”,那么它就会重新改为“陈刚”,而当我们点击“提交修改”后它就会保存到数据库,此时再点击“撤销修改”就修改不回来了。//id属性,即第0列,升序排列。

2401_85014284的博客 933

QSqlTableModel删除行时不彻底

数据可以成功从数据库删除,但是model上面还遗留一行空白行。 这时只需手动调用select()即可。 Deletions are submitted immediately to the database. The model retains a blank row for successfully deleted row until refreshed with select(). ...

sinat_36921713的博客 1679

Qt QSqlTableModel详解

1.QSqlTableModel 用来显示数据库中数据表的数据,实现对数据的编辑、插入、删除等操作。实现数据的排序和过滤 2.常用API void setTable(const QString &tableName) //设置数据表名称 void setFilter(const QString &filter) //设置记录过滤条件 void setSort(int column,Qt::SortOrder order) //设置排序字段和排序规则,需调用select()才生...

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 2万+

Qt使用数据库模型中的删除详解

【代码】Qt使用数据库模型中的删除详解。

qq_45303986的博客 2216

域控制器迁移后NETLOGON共享丢失的修复指南

本文详细解析了在Windows域控制器迁移后NETLOGON共享丢失的故障现象与修复方法。通过使用Dcdiag工具诊断,定位注册表键值SysVolReady异常及SCRIPTS目录缺失等核心原因,并提供了修改注册表、创建目录、重启Netlogon服务等逐步修复指南,帮助管理员快速恢复域用户登录功能,确保业务连续性。

weixin_29245767的博客 88

SRv6项目实践(三):P4Runtime基础以及交换机控制

在正式介绍P4runtime基础之前,先说一说P4的编译和实现的过程该文件包含了各个表和操作,它们的id用一个索引值来表示,比如a表用b操作,不会直接说用名字为B的操作,而是说用索引为xxx的操作,然后锁定到b上执行相关的功能,其次,用了一个bitwith来描述,要访问的数据的比特长度是多长。p4c编译器将p4编译成两份文件,其中一份是,另一份是,将这两个文件再整合起来,作为配置,放到交换机中。

a1164520408的博客 3411

使用QSqlTableModel进行增删改查

QSqlTableModel 使用方法(转) Qt QSqlTableModel 使用心得 连接数据库 执行sql查询,条件显示,排序 获取记录数,列数以及记录内容,字段内容 新增,修改,删除,恢复 其它 1---------------连接数据库(我用的access2003做实验) 在.pro文件添加 QT +=SQL win32:CONFIG+=console ------------------------MAIN.CPP--------------- #include <QtGui/QAppl

qq_43248127的博客 5111

RISC-V内核移植实战:从零开始手把手实现RT-Thread上下文切换(附GD32VF103代码解析)

本文详细解析了在RISC-V架构上移植RT-Thread实时操作系统的核心步骤,重点聚焦于上下文切换机制的实现。通过对比ARM Cortex-M与RISC-V在中断处理和寄存器管理上的关键差异,并以GD32VF103开发板为例,手把手指导开发者完成libcpu抽象层适配、线程栈初始化以及三种上下文切换方式的代码编写与调试,为嵌入式开发者从ARM转向RISC-V平台提供了实战指南。

fern8的博客 739

QT QSqlTableModel 如何判断记录已被标记为删除

当QSqlTableModel删除数据时,model中的记录并不会减少,只是标记为删除。如果想即刻生效删除,应使用model的select()。若想判断model中哪条数据为已标记删除,可以通过model的vertical head数据判断,标记为删除的数据,数据头数据为‘!’的记录是已经删除的记录 // 其中 i 为记录号 if (m_tableModel->headerData(i, Qt::Vertical, Qt::DisplayRole).toString() == QL...

liyadongcn的博客 468

深入解析数据通信中的码元速率与比特率:从基础到实战应用

本文深入解析了数据通信中的核心概念码元速率与比特率,通过生动的比喻和公式(比特率=波特率×log₂(M))揭示其本质关系。文章结合BPSK、QPSK、16QAM等调制技术,剖析了从4G/5G到LoRa等实战场景中如何权衡速率、距离与可靠性,并提供了软考真题解析与系统设计建议,帮助读者从理论到应用全面掌握数据速率优化。

weixin_29324877的博客 213

微信取证不求人:最新免费DAT解码工具使用指南(含闪退解决方案)

本文提供了一份详细的微信DAT文件免费解码工具使用指南。针对用户常见的图片无法查看问题,手把手教学如何安全获取并操作开源图形化工具,将加密的DAT文件一键还原为JPG/PNG图片。文章重点剖析了DAT文件的加密原理,并给出了详细的步骤解决工具运行中最常见的“程序闪退”等疑难杂症,帮助普通用户轻松完成微信取证。

m0n1o2p的博客 479

Qt QSqlTableModel表格模型,可以在表格里增删改查

connection.h #ifndef CONNECTION_H #define CONNECTION_H #include <QMessageBox> #include <QSqlDatabase> #include <QSqlQuery> #include <QCoreApplication> static bool createConne...

qq_24127015的博客 2799

岭回归的MATLAB步骤

MATLAB 实现框架,它涵盖了从数据导入到岭回归的步骤,包括计算共线性、使用 MAE、MSE、R²、MAPE 进行评价,以及绘制相应的可视化图表。

subject625Ruben的博客 1090

Qt使用QSqlTableModel界面显示用法(五、查询功能)

众所周知,查询功能是所有基础操作中最麻烦的功能。

yc__coder的博客 7468

基于PLC的茶叶揉捻机自动控制系统设计【附代码】

茶叶揉捻是初茶加工过程中的一道关键工序,通过揉捻可以使鲜茶叶成条、碎茶及叶组织细胞破损等。影响茶叶成条率、碎茶率和叶组织细胞破损的主要因素包括揉捻时间、压力和揉捻桶转速。为了提高茶叶品质的稳定性和减轻工人的劳动强度,本文提出了一种基于PLC自动控制技术的茶叶揉捻机控制系统设计。📊 PLC自动化设计 | 毕业设计指导 | 工业自动化解决方案。✅ 具体问题可以私信或查看文章底部二维码。✅ 感恩科研路上每一位志同道合的伙伴!

lagougongzuoshi的博客 1343

基于VisionMaster实现数据实时存储至MySQL (二)

摘要:之前的分享主要聚焦于简单的一维数据实时存储。但在做缺陷检测项目时,情况往往更加复杂:一张检测图像中可能同时存在多个缺陷,每个缺陷都有一组独立的核心参数(如质心、长短轴、面积等)。如何在 MySQL 中记录这些成组出现的缺陷数据,而不只是简单的单条记录?

haier123888的博客 226

【Qt】数据库实战之QSqlTableModel模型

00. 目录 文章目录00. 目录01. 概述02. 开发环境03. QSqlTableModel基本操作04. QSqlTableModel修改操作05. QSqlTableModel查询操作06. QSqlTableModel排序操作07. QSqlTableModel删除操作08. QSqlTableModel插入操作09. QSqlTableModel总结10. 附录 01. 概述 只读的QSqlQueryModel模型其实也可以实现编辑功能的,但是实现起来很麻烦。而QSqlTableModel提供

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

QT的SQL模块 - QSqlTableModel的使用

1、SQLite是一种无需服务器、无需进行任何配置的数据库。2、SQLite是可以跨平台使用的数据库。3、SQLite的驱动库文件很小,包含完整功能的驱动可以小到只有500KB。QtSQL提供的主要类的简要功能描述如下图所示QSqlDatabase用于建立与数据库的连接,一般先加载需要的数据库驱动,然后设置数据库的登录参数。数据库的操作一般需要将数据库的内容在界面上进行显示和编辑,Qt采用Model/View结构进行数据库内容的界面显示。

weixin_56169816的博客 1758

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Qt数据库练习之QSqlTableModel的使用(MySql数据库示例,含源码+注释)

一、各操作示例 提示:示例图中开始都先刷新了数据表,表明数据为最新数据;源码在本文第三节(源码含详细注释)。 1.1 修改记录(数据) 下图含手动更新记录和自动更新记录时的记录修改操作,其中前十秒是自动更新记录的操作,后十秒为手动更新记录的操作。 1.2 添加记录(数据) 下图为添加记录的操作,新添加的记录行的行标题是‘*’符号,并且当更新策略为手动更新时,需要手动保存记录。 1.3 删除记录(数据) 下图为删除记录的操作,删除后行的行标题变为‘!’,并且删除操作不区分自动/手动提交记录,无论怎样都是自

lw的博客 7694

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Qt SQL:QSqlQueryModel、QSqlTableModel

Qt SQL:QSqlQueryModel、QSqlTableModel

友善啊,朋友的博客 4176

【Qt入门第25篇】 数据库(五)SQL表格模型QSqlTableModel

可以看到这个模型很强大,而且完全脱离了SQL语句,就算你不怎么懂数据库知识,也可以利用它进行大部分常用的操作。我们也看到了,这个模型提供了缓冲区,可以先将修改保存起来,当我们执行提交函数时,再去真正地修改数据库。当然,这个模型比前面的模型更高级,前面讲的所有操作,在这里都能执行。

hw5230的博客 3832

【QSqlTableModel】QT数据库的数据模型---QSqlTableModel

定义: 数据库的数据模型是将SQL语句对数据库的访问完全对象化,将SQL语句的执行封装成对象及其成员函数的实现,同时也对象化了QT的表格界面,实现了数据库访问的高耦合性,屏蔽了数据库访问的内部细节,将数据库的访问简化成调用对象的接口(成员函数)。 QSqlTableModle类: 成员函数: 1.绑定表格(数据库的表) [virtual] void QSqlTableModel::setTable(const QString &tableName); //传入表格名 2.插入 插入一条记录 --

皮皮不调皮的博客 6058

QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型

QSqlTableModel类继承至QSqlQueryModel类,该类提供了一个可读写单张SQL表的可编辑数据模型,功能:修改,插入,删除,查询,和排序 常用函数 QVariant headerData ( int section,Qt::Orientation orientation, int role = Qt::DisplayRole ) const  获取水平头或垂直头标题 b

再生的雄赢专栏 2万+

Qt QSqlTableModel 使用心得

Qt  QSqlTableModel  使用心得 连接数据库 执行sql查询,条件显示,排序 获取记录数,列数以及记录内容,字段内容 新增,修改,删除,恢复 其它     1---------------连接数据库(我用的access2003做实验) 在.pro文件添加 QT  +=SQL win32:CONFIG+=console   -----------------

专注的力量 5万+
上一篇: Qt使用QSqlTableModel界面显示用法(二、添加功能)
下一篇: Qt使用QSqlTableModel界面显示用法(四、修改功能)
巨蟹贼香
博客等级 码龄9年 76粉丝 43原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值