首页| 论坛| 消息

标题:Qt编写物联网管理平台47-通用数据库设置
作者:liudianwu
日期:2022-07-25 09:11
内容:

## 一、前言
为了做这个通用的数据库组件,专门安装了虚拟机来安装各种版本的不同类型的数据库做测试,包括编译对应的数据库插件,我一直坚信的是一切从实际出发+有实际采用发言权,包括不同Qt版本编译mysql、oracle数据库插件,以及不同数据库在查询数据、分页显示数据、清空数据、批量插入数据、批量删除数据等操作,经历过至少半个月的疯狂实战,光mysql就安装了5.7和8.0版本,postgresql安装了9.0、10.0、13.0三个版本,oracle安装了11.0,国产数据库安装了kingbaseV8,反复将物联网管理平台、视频监控系统、可视化大屏电子看板系统,在各种数据库下进行测试,优化了大大小小上百个细节,而且同时支持直连数据库和ODBC数据源方式连接数据库两种形式,比如通过oci库搭配qoci插件连接oracle数据库、通过odbc数据源搭配qodbc插件连接oracle数据库,才形成现在的版本。
通用的数据库组件基本功能:
1. 探测数据库连接是否正常,一般是在不指定数据库名称的前提下探测,因为此时数据库并不存在,需要连接后再去新建。
2. 执行sql脚本初始化数据库,包括新建数据库、新建数据库表、初始化记录等。
3. 通用数据库连接和管理类,负责数据库的打开、关闭、执行sql语句、批量执行、自动重连、实时检测连接状态等。
4. 通用数据库记录清理类,负责清理指定数据库表的记录。
5. 通用数据库记录翻页类,不同数据库类型对应不同的查询翻页显示记录语句。
6. 绑定数据库表到数据模型QSqlTableModel。
7. 获取查询记录数语句,不同数据库类型不同sql语句。
8. 查询数据库所有表名、所有字段名,不同数据库类型不同sql语句。
9. 通用日期范围sql语句。
## 二、功能特点
### 2.1 软件模块
1. 设备监控模块,包括数据监控(表格形式展示)、设备面板(面板形式展示)、地图监控(地图形式展示)、曲线监控(曲线形式展示)。
2. 数据查询模块,包括报警记录、运行记录、操作记录。
3. 系统设置模块,包括基本设置、端口管理、控制器管理、探测器管理、报警联动、类型设置等。
4. 其他设置模块,包括用户管理、地图管理、位置调整、组态设计、设备调试等。
### 2.2 基础功能
1. 设备数据采集,支持串口、网络,串口可设置串口号、波特率,网络可设置IP地址、通讯端口。
2. 每个端口支持采集周期时间,默认1秒钟一个设备。
3. 支持设置通讯超时次数,默认3次。
4. 支持最大重连时间,用于重新读取离线的设备。
5. 控制器信息,能够添加控制器名称,选择控制器地址 ..


#1 [xiaoke123 07-29 10:35]
刘总 又有新作了! 不知MQTT协议集成了没有呢
#2 [jazzmax 01-04 13:38]
QT大神

回复 发表
主题 版块