当前位置: 首页 > news >正文

QT Sqlite数据库-教程03 插入数据-下

【1】手动提交事务

#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <QtSql/QSqlRecord>QSqlDatabase db;
db.transaction();
for(int i=0; i<100000; ++i){QSqlQuery cmd(QString("UPDATE %1 SET %2=%3 WHERE id==%4").arg(tableName ).arg(content).arg(str).arg(i));cmd.exec();
}
db.commit();

【2】事务的回滚

当数据插入失败后,可以执行事务的回滚操作,需要在commit之前进行回滚

db.rollback();

【3】锁的机制

1)锁的分类

一类是回滚日志锁,一类是WAL模式下的锁

2)锁状态主要有以下五种:

UNLOCKED:初始状态,表示没有锁。

SHARED:允许其他共享锁存在,但不允许排他锁。

‌RESERVED:表示事务已经开始,但尚未进行任何修改。

PENDING:表示正在等待获取排他锁。

‌EXCLUSIVE:表示事务正在进行写入操作,其他事务无法读取或写入。

3)状态转换

读:从UNLOCKED到SHARED,提交后回到UNLOCKED

写:从UNLOCKED到RESERVED,然后到EXCLUSIVE,提交后回到UNLOCKED或RESERVED

相关文章:

  • 如何修改 JAR 包中的源码
  • 设备管理系统的功能架构与核心价值
  • MATLAB程序演示与编程思路,相对导航,四个小车的形式,使用集中式扩展卡尔曼滤波(fullyCN-EKF)
  • 决 策 树
  • Marin说PCB之1000-BASE-T1的PCB设计总结--04
  • 文化符号与隐形的社会话语权力:解码布尔迪厄理论下的意识形态操控机制
  • Super-vlan
  • 第四章 Java基础-判断和循环
  • C++学习-入门到精通-【4】函数与递归入门
  • 内容社区系统开发文档
  • c++类【发展】
  • C++ 类
  • 荣耀A8互动娱乐组件部署实录(第3部分:控制端结构与房间通信协议)
  • 【Python】常用命令提示符
  • Edge浏览器PDF字体显示错误
  • femap许可故障排查与修复
  • 104二叉树的最大深度
  • SpringBoot中使用MCP和通义千问来处理和分析数据
  • UKCC(原OUCC)真题讲解(一)
  • 将文本文件加载到excel文件,让数据看的更清晰
  • 印媒证实:至少3架印军战机7日在印控克什米尔地区坠毁
  • 个人住房公积金贷款利率下调,100万元30年期贷款总利息将减少近5万元
  • 吴清:基金业绩差的必须少收管理费,督促基金公司从“重规模”向“重回报”转变
  • 降准又降息!央行发布3类10项措施
  • 潘功胜:央行将创设科技创新债券风险分担工具
  • “五一”假期全社会跨区域人员流动量超14.65亿人次