Qt数据库集成应用封装
平时的大大小小的项目中,基本上都需要与数据库打交道,会遇到各种各样的应用场景,本人主要遇到四种场景
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:增加统计用字段名称设置
*/









Qt数据库集成应用封装的更多相关文章
- Qt封装QTcpServer参考资料--QT4中构建多线程的服务器
首先说一下对多线程这个名词的理解过程.以前听说过很多次多线程这个词,而且往往与服务器联系起来,因此一直把多线程误解为服务器特有的功能:直到这次课程设计,仔细学习了一下多线程的机制,才知道真正的意思.简 ...
- Qt with OpenCascade
Qt with OpenCascade 摘要Abstract:详细介绍了如何在Qt中使用OpenCascade. 关键字Key Words:Qt.OpenCascade 一.引言 Introducti ...
- 关于Qt
什么是Qt Qt是一个针对桌面.嵌入式.移动设备的一个跨平台的应用程序开发框架,支持的平台包括Linux.OS X.Windows.VxWorks.QNX.Android.iOS.BlackBerry ...
- 【Qt】关于Qt【转】
什么是Qt Qt是一个针对桌面.嵌入式.移动设备的一个跨平台的应用程序开发框架,支持的平台包括Linux.OS X.Windows.VxWorks.QNX.Android.iOS.BlackBerry ...
- Qt的版本历史
发展史 Qt的第一个商业版本于1995年推出,随后Qt的发展就很快了,下面是Qt发展史上的一 些里程碑,从之前的Qt1.x开始到现在的Qt5.x. Qt1-3 版本 发布日期 1.40 10 July ...
- qt 总结
Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义.例如要使用QApplication类,则需要在程序中添加" #include <QApplication>" ...
- 如何才能学到Qt的精髓——信号槽之间的无关性,提供了绝佳的对象间通讯方式,QT的GUI全是自己的一套,并且完全开源,提供了一个绝好机会窥视gui具体实现
姚冬,中老年程序员 叶韵.KY Xu.赵奋强 等人赞同 被邀请了很久了,一直在思考,今天终于下决心开始写回答. 这个问题的确是够大的,Qt的代码规模在整个开源世界里也是名列前茅的,这么大的项目其中的精 ...
- Qt 操作Excel
Qt对Excel的数据读/写操作没有现存的类,需要使用QAxObject,下面是从网上下载下来的一个封装好的类,感觉还可以,一般情况下够用,拿来给大家分享. 头文件: #ifndef EXCELENG ...
- C++专题 - Qt是什么
Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器.Qt是面向对象的框架,使用特殊的代码生成扩展(称 ...
随机推荐
- O(N^2)最长上升子序列
//最长上升子序列o(N^2)可以不连续的子序列, //状态为maxlen[i]表示以a[i]为终点最大上升子序列长度 #include<iostream> #include<cst ...
- pipelineDB初体验
官网:http://www.pipelinedb.com/ pipelineDB是基于postgres的stream数据库.完全兼容pg的东西. 由于产品需要解决性能这块瓶颈,老大让试试这款基于流计算 ...
- FastDFS教程IV-文件服务器集群搭建
1.简介 本文主要介绍FastDFS文件服务器的集群搭建,在阅读本文之前,您需具备FastDFS文件服务器单节点安装,扩容,迁移等方面的知识.同时,您还需了解Keepalived,nginx方 ...
- Scala入门系列(九):函数式编程
引言 Scala是一门既面向对象,又面向过程的语言,Scala的函数式编程,就是Scala面向过程最好的佐证.也真是因此让Scala具备了Java所不具备的更强大的功能和特性. 而之所以Scala一直 ...
- Android ListView与RecycleView的对比使用
ListView,就如其名,是用来显示列表的一种View,而RecycleView,是其的加强版,今天带来的是这两个几乎具有相同的功能的对比使用 先从ListView说起吧 ListView: 1.在 ...
- ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理
分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...
- springboot(一)
1,使用springboot开发需要以下配置: : Maven | Gradle | Ant | Starters code工具:IDE | Packaged | Maven | Gradle 系统要 ...
- Flask-admin 笔记一 (快速启用)
1,快速启用 1) 安装flask-admin pip install flask-admin 2) 配置使用 from flask import Flask from flask_admin i ...
- mvc 中Range中max和min值晚绑定
对于Attribute : Range(min,max)的min和max必须在用的时候给,但是需求有时须要把这两个值存db.动态取出的.这时就须要razor帮忙了: @Html.TextBoxFor( ...
- Android Root原理初探
Root Linux:Root == Windows:Adminstrator Android是Linux系统吗? 操作系统 = 系统内核 + 文件系统 Linux发行版:Linux内核 + 文件系统 ...