Qt MVC 与达梦数据库集成

电力设备运维场景:变电站设备经 IEC 104 规约报文上送遥测/遥信数据,Qt 后台接收解析后写入达梦数据库,界面用 Qt Model/View(MVC)框架展示。 数据库部分讲解详细,全程与 MySQL 对比。 一、场景背景 业务链路: 变电站设备 --(IEC 104 报文)--> Qt 后台 TCP 服务端 --> 报文解析 --> 达梦数据库(DM8) --> QSqlTableModel --绑定--> QTableView 界面 遥测(YC):电流、电压、功率等模拟量,周期上送。 遥信(YX):开关位置、刀闸状态等开关量,变位上送。 本篇定位:MVC 基础原理(QModelIndex/Role/Delegate 机制)已在 ../Qt/Qt_ModelView_MVC架构详解.md 详细讲解,本篇不重复, 重点放在数据库侧:达梦连接、三种数据库 Model 的用法、报文落库与界面刷新的完整链路。 二、达梦连接配置(详细) 2.1 为什么 Qt 用 ODBC 连接达梦 对比项 达梦 DM8 MySQL Qt 驱动 无官方原生驱动,走 ODBC(QODBC) 官方 QMYSQL 驱动 端口 5236 3306 驱动来源 达梦安装目录自带 ODBC 驱动(drivers/odbc/ 下) Qt 编译时编译 qsqlmysql 插件 MySQL 有 QMYSQL 驱动,直接 QSqlDatabase::addDatabase("QMYSQL") 即可。 达梦没有对应的 Qt 原生驱动,只能通过微软 ODBC 或 unixODBC 桥接,Qt 侧统一使用 QODBC。 ...

2026 年 10 月 13 日

达梦数据库学习路线(Qt/C++ 电力运维场景)

背景定位 电力设备运维场景:变电站设备经 IEC 104 规约报文上送遥测/遥信数据,需要采集、解析并落库存储。 Qt/C++ 开发背景(Qtc++):以 Qt 技术栈(MVC、QSqlDatabase、ODBC)为主线承载数据库操作与界面联动。 国产数据库达梦(DM8)学习:从连接、SQL 到运维全链路,教学过程中与 MySQL 持续对比,突出差异。 业务代码可用伪代码表述,重点放在数据库讲解的详细性上(驱动、连接、语法、事务、运维)。 章节规划 编号 标题 内容 状态 01 Qt-MVC与达梦数据库集成 QSqlTableModel/QSqlQueryModel/QSqlRelationalTableModel + ODBC 连接达梦,报文解析→落库→界面刷新链路 ✅ 已写 02 连接与驱动 ODBC 驱动安装、连接串、QSqlDatabase 建立流程、达梦 COMPATIBLE_MODE 兼容模式 ⬜ 待写 03 基础SQL与MySQL对比 数据类型、建库建表、CRUD、达梦特有语法(如 DUAL、序列)、MySQL 迁移工具 ⬜ 待写 04 IEC104规约报文实战 104 规约帧格式详解、报文解析、达梦落库、与界面联动 ⬜ 待写 05 进阶-事务与运维 事务隔离级别、存储过程/触发器、备份恢复、性能优化、达梦集群 ⬜ 待写 学习路径建议 先读 01 建立「报文→数据库→界面」整体认识,理解全链路数据流向。 再补 02/03 打牢连接与 SQL 基础,掌握 ODBC 驱动与达梦语法特性。 04 回到报文实战深挖规约,将解析与落库结合,完成闭环。 05 面向生产运维,覆盖事务、存储过程与备份恢复等工程落地能力。 进度表 当前进度:01 已写,其余四章待写,按上表顺序推进。 本路线图随笔记进度持续更新,每完成一章即同步修订状态列。

2026 年 10 月 13 日