找回密码
 立即注册
收起左侧

Qt数据库集成应用封装

3
回复
9748
查看
[复制链接]
累计签到:7 天
连续签到:1 天
来源: 2017-6-11 16:28:53 显示全部楼层 |阅读模式
平时的大大小小的项目中,基本上都需要与数据库打交道,会遇到各种各样的应用场景,本人主要遇到四种场景
1:数据库自动重连,例如mysql数据库中经常遇到服务器挂掉的情况,需要自动检测并重新连接数据库。
2:数据库自动清理早期数据,保证数据库中为最新的数据,而容量有限。
3:数据实时同步云端,客户端从云端同步数据到本地。
4:多线程批量执行sql语句。
为此,特意将各种应用场景封装成类,每个项目只需要传入对应参数即可。大大节省了开发时间。集成到pri文件中,每次项目引入即可。

DbTcpClientThread
/**
* 远程数据实时同步线程客户端,负责上传数据
* 1:可设置远程mysql数据库信息
* 2:自动重连数据库
* 3:可设置检测连接间隔
* 4:自动重置远程设备信息
* 5:所有消息都发送信号,可在信号槽函数中打印输出
*/

DbTcpServerThread
/**
* 远程数据实时同步线程服务端,负责下载数据
* 1:可设置远程mysql数据库信息
* 2:自动重连数据库
* 3:可设置检测连接间隔
* 4:可设置要查询的表名
* 5:所有消息都发送信号,可在信号槽函数中打印输出
* 6:返回数据结果严格按照字段顺序
* 7:返回的数据同时包含关键字字段数据
* 8:提供接口可对远程数据库执行sql语句
* 9:提供接口可对远程数据库获取对应表数据
*/

DbTcpDataThread
/**
* 本地数据同步到远程数据库线程
* 1:可设置远程mysql数据库信息
* 2:可设置本地mysql数据库信息
* 3:自动重连数据库,包括本地数据库和远程数据库
* 4:可设置检测连接间隔
* 5:所有消息都发送信号,可在信号槽函数中打印输出
* 6:支持优先执行sql语句
*/

DbWebServerThread
/**
* 远程数据实时同步线程服务端,负责下载数据
* 1:通过web方式访问网页获取返回值
* 2:可以拓展支持更多种支持方式
* 3:可设置检测连接间隔
* 4:可设置要查询的表名
* 5:所有消息都发送信号,可在信号槽函数中打印输出
* 6:返回数据结果严格按照字段顺序
* 7:返回的数据同时包含关键字字段数据
*/

DbCountThread
/**
* 数据库通用翻页类
* 1:自动按照设定的每页多少行数据分页
* 2:只需要传入表名/字段集合/每页行数/翻页指示按钮/文字指示标签
* 3:提供公共静态方法绑定字段数据到下拉框
* 4:建议条件字段用数字类型的主键,速度极快
* 5:增加线程查询符合条件的记录总数,数据量巨大时候不会卡主界面
*/

DbLocalThread
/**
* 本地数据库打开、关闭、检查、重连
* 1:支持数据库自动重连
* 2:可设置检查数据库时间间隔
*/

DbExecSqlThread
/**
* 批量执行sql语句线程类
* 1:可设置对应数据库连接名称和sql语句
* 2:执行结果提供信号传出执行是否成功,执行条数,用时
*/

DbDelegate
/**
* 自定义委托类
* 1:可设置多种委托类型,例如文本框/下拉框/日期框等
* 2:可设置文本框是否密文显示
* 3:可设置默认数据,包括下拉框数据集合
* 4:提供值变化信号,比方说下拉框值改动触发
*/

DbCleanThread
/**
* 自动清理数据类
* 1:可设置要清理的对应数据库连接名称和表名
* 2:可设置条件字段
* 3:可设置排序字段
* 4:可设置最大保留的记录数
* 5:可设置执行自动清理的间隔
* 6:后期支持多个数据库和多个表
* 7:建议条件字段用数字类型的主键,速度极快
* 8:增加统计用字段名称设置
*/











本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:742 天
连续签到:1 天
2017-6-12 16:03:06 显示全部楼层
厉害啊,能否分享这个项目的源码呢,楼主大大 ? 邮箱: wsince2013@qq.com
回复 支持 反对

使用道具 举报

累计签到:1 天
连续签到:1 天
2018-7-1 12:14:13 显示全部楼层
楼主大佬 分享下源代码~学习下~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了