数据库的创建、添加、修改、查询、删除都是利用SQL语句和类QSqlQuery的结合。

QSqlDatabase::database()。可返回当前正在打开的数据库对象。

数据库的删除

//获取删除的名字

QString strName=ui->lineEdit->text();

//开始事务

QSqlDatabase::database().transaction();

//删除该数据,但数据库没有更新,需要事务的提交

QString strTemp=QString("DELETE FROM  student WHERE sname='%1'").arg(strName);

//执行

QSqlQuery query;

query.exec(strTemp);

提交事务

QSqlDatabase::database().commit();

撤销操作,回到transaction()处

QSqlDatabase::database().rollback();

事务:简单来说就等同于一个点。当后面出现错误操作时,可以回滚到该点上,撤销操作。

遍历数据库

//查询数据库

query.exec("SELECT * FROM student;");

//遍历数据库,输出所有数据

while(query.next())

{

qDebug()<<query.value("id").toInt()

<<query.value("sname").toString()

<<query.value("age").toString()

<<query.value("score").toInt();

}

修改数据

修改数据

//获取修改的名字

QString strName1=ui->lineEdit->text();

//修改后的名字

QString strName2=ui->lineEdit_2->text();

//开始事务

QSqlDatabase::database().transaction();

//删除该数据,但数据库没有更新,需要事务的提交

QString strTemp=QString("DELETE FROM  student set  sname=’%1 ’ WHERE sname='%2").arg(strName2).arg(strName1);

//执行

QSqlQuery query;

query.exec(strTemp);

33Sql数据删除与遍历的更多相关文章

  1. 【php增删改查实例】第十二节 - 数据删除功能

    1.单条数据删除 思路:首先,需要也只能允许用户勾选一条数据,然后弹出一个确认框,问用户是否真的要删除?如果是,就把ID传递到PHP,然后写一个delete语句,通过ID去删除即可. 画好了按钮之后, ...

  2. Django项目:CRM(客户关系管理系统)--31--23PerfectCRM实现King_admin数据删除

    登陆密码设置参考 http://www.cnblogs.com/ujq3/p/8553784.html # king_urls.py # ————————02PerfectCRM创建ADMIN页面—— ...

  3. 禁用Windows重复数据删除

    重复数据删除,可以减少磁盘占用,但使用不当也有可能增加IO,另外,也为此功能会将硬盘分块,所以当硬盘占用较高时,进行碎片整理也比较困难,所以有时需要禁用掉重复数据删除功能,并解除重复数据的优化,可以通 ...

  4. Design7:数据删除设计

    在设计一个新系统的Table Schema的时候,不仅需要满足业务逻辑的复杂需求,而且需要考虑如何设计schema才能更快的更新和查询数据,减少维护成本. 模拟一个场景,有如下Table Schema ...

  5. 压缩Sqlite数据文件大小,解决数据删除后占用空间不变的问题

    最近有一网站使用Sqlite数据库作为数据临时性的缓存,对多片区进行划分 Sqlite数据库文件,每天大概新增近1万的数据量,起初效率有明显的提高,但历经一个多月后数据库文件从几K也上升到了近160M ...

  6. Windows Server 2012重复数据删除技术体验

    在企业环境中,对磁盘空间的需求是惊人的.数据备份.文件服务器.软件镜像.虚拟磁盘等都需要占据大量的空间.对此,微软在Windows Server 2012中引入了重复数据删除技术.重复数据删除技术通过 ...

  7. 1.6.6 De-Duplication(重复数据删除)

    1. 重复数据删除 solr通过<Signature>类的类型来支持重复数据删除技术的.一个Signature可以通过以下几种方式实现:  方法 描述  MD5Signature  128 ...

  8. SQL从入门到基础 - 04 SQLServer基础2(数据删除、数据检索、数据汇总、数据排序、通配符过滤、空值处理、多值匹配)

    一.数据删除 1. 删除表中全部数据:Delete from T_Person. 2. Delete 只是删除数据,表还在,和Drop Table(数据和表全部删除)不同. 3. Delete 也可以 ...

  9. 一次oracle大量数据删除经历

    oracle有个数据表现在已经有2500万条数据了,软件用到这个表的数据时就变的特别慢,所以准备把一个月以前的数据全部清除. 我的步骤是(下边操作都是在plsql中运行的) 1.首先 将这个月的数据导 ...

随机推荐

  1. Android-Gallery GridView ImageSwitcher 使用

    http://liangruijun.blog.51cto.com/3061169/647355/ http://blog.csdn.net/wantianwen/article/details/23 ...

  2. 微信jssdk批量添加卡券接口(踩坑经验)

    1)首先是官方接口文档: 1.批量添加卡券接口:https://mp.weixin.qq.com/wiki?action=doc&id=mp1421141115&t=0.0861973 ...

  3. conn.setAutoCommit(false)数据回滚设置

    前言:介绍一点爱混淆的概念. 1.mysql中默认 autocommit=1:事物自动提交. 可通过 select @@autocommit;查看 但是是设置事务自动提交模式为set autocomm ...

  4. 安装memcacheq

    1.下载memcacheq包    下载地址:http://code.google.com/p/memcacheq/downloads/list    解压包:# tar -zxvf memcache ...

  5. C++异常 异常机制

    C++异常是丢程序运行过程中发生的异常情况(例如被0除)的一种响应.异常提供了将控制权从程序的一个部分传递到另一部分的途径.对异常的处理有3个组成部分:* 引发异常:* 使用处理程序捕获异常:* 使用 ...

  6. [分享]方便的 windbg 命令 - !list

    Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看系统中的所有进程: lkd> !list -t nt!_LIST_ENTRY.Flin ...

  7. .Net内存溢出 System.OutOfMemoryException

    内存溢出常见的情况和处理方式: http://outofmemory.cn/c/dotNet-outOfMemoryException MSDN中关于processModel的文档 https://m ...

  8. Python初学总结

    下边的总结都是在python3上 一.基础 1.输出与输入: 输出:print(变量/字符串) 输入:input() 返回的是字符串 price=input() print(price) 2.pyth ...

  9. 简明 Vim 教程

    学习 vim 并且其会成为你最后一个使用的文本编辑器.没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用. 我建议下面这四个步骤: 存活 感觉良好 觉得更好,更强,更快 使用VIM的超能力 ...

  10. 【WebService】Stax的基本操作基于游标

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <book ...