当前位置: 首页 > 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

http://www.xdnf.cn/news/310591.html

相关文章:

  • 信息论05:信息论中的条件熵——从不确定性量化到机器学习实战
  • opencv实战:银行卡卡号识别
  • 效率提升利器:解锁图片处理新姿势
  • MySQL的内置函数与复杂查询
  • 【Python面向对象编程】类与对象的深度探索指南
  • Python训练打卡Day17
  • 让混乱的讨论变成有效产出的智能助手
  • 51单片机入门教程——AT24C02(I2C 总线)
  • QGIS分割平行四边形
  • ctfshow web入门 web52
  • 汽车行业EDI教程【北美X12标准】——X12转换配置
  • Fluent UDF底层实现逻辑解析及示例
  • 养生融入生活,畅享健康人生
  • 7.9/Q1,Charls最新文章解读
  • PySide6使用资源文件
  • 6GHz频段受限:WiFi 7部署的“最后一公里”难题如何破局
  • 白平衡色温坐标系下自适应计算白点权重的方法
  • app根据蓝牙名字不同,匹配不同的产品型号,显示对应的UI界面
  • 探索SQLMesh中的Jinja宏:提升SQL查询的灵活性与复用性
  • [学习]RTKLib详解:pntpos.c与postpos.c
  • JVM堆的分代机制
  • Linux 内核空间与用户空间:概念、差异与协作机制
  • 端口隔离基本配置
  • Weston显示系统中单屏幕独立旋转配置指南
  • Javase 基础加强 —— 06 Stream流
  • 企业CMS中的内容中台是什么?
  • three.js通过GEO数据生成3D地图
  • 爱情的本质是什么--deepseek
  • 认识Grafana及其面板(Panel)
  • 2025年大风灾害预警升级!疾风气象大模型如何筑起安全防线?