
首先,描述下QDB的构成部分:
1、TQDataSet - 内存数据集对象,从TDataSet继承下来,实现了TDataSet的各种方法,并且提供克隆(Clone)、拷贝(Copy)、排序(Sort)、过滤(Filter)、分组(Group)、联合(Union)、差异(Diff)、连接(Join)、分页(Page)、聚合(AVG/SUM/COUNT等)、约束(Constraint)及脚本化支持(仅限于Select/Insert/Update/Delete的部分子集)、导入(Import)、导出(Export)、与数据库同步(Provider)等功能。为实现它,会有TQRecordBuffer、TQValue等辅助对象,及MD5和SHA算法库支持。
2、TQConverter - 实现数据内容的导入导出,并由子类实现各种不同格式的快速转换。导出时支持以下类型数据的组合:
√ 未变更数据
√ 插入的数据
√ 修改的数据
√ 删除的数据
√ 仅过滤后的数据
√ 仅当前记录
√ 仅当前页
3、TQProvider - 数据提供者对象,用于从数据源获取数据(一般是数据库,也可以JSON、XML等平面数据文件)和将数据提交到数据源。
4、TQLocalChecks - 约束的实现,这里实现的内容包括范围检查、唯一约束和自增序列三种。
1、TQDataSet - 内存数据集对象,从TDataSet继承下来,实现了TDataSet的各种方法,并且提供克隆(Clone)、拷贝(Copy)、排序(Sort)、过滤(Filter)、分组(Group)、联合(Union)、差异(Diff)、连接(Join)、分页(Page)、聚合(AVG/SUM/COUNT等)、约束(Constraint)及脚本化支持(仅限于Select/Insert/Update/Delete的部分子集)、导入(Import)、导出(Export)、与数据库同步(Provider)等功能。为实现它,会有TQRecordBuffer、TQValue等辅助对象,及MD5和SHA算法库支持。
2、TQConverter - 实现数据内容的导入导出,并由子类实现各种不同格式的快速转换。导出时支持以下类型数据的组合:
√ 未变更数据
√ 插入的数据
√ 修改的数据
√ 删除的数据
√ 仅过滤后的数据
√ 仅当前记录
√ 仅当前页
3、TQProvider - 数据提供者对象,用于从数据源获取数据(一般是数据库,也可以JSON、XML等平面数据文件)和将数据提交到数据源。
4、TQLocalChecks - 约束的实现,这里实现的内容包括范围检查、唯一约束和自增序列三种。
