QDataSet 支持合并相同的结构的不同结果集,这一功能透过函数Merge来实现。
procedure Merge(const ACmdText:QStringW;AMethod:TQDataMergeMethod;AWait:Boolean); procedure Merge(ADataSet:TQDB;AMethod:TQDataMergeMethod;AWait:Boolean); procedure Merge(AStream:TStream;AFormat:TQConverterClass;AMethod:TQDataMergeMethod;AWait:Boolean); procedure Merge(AStream:TStream;AFormat:TQConverter;AMethod:TQDataMergeMethod;AWait:Boolean);
第一种形式直接传递脚本,第二个使用数据集,第三种和第四种直接从流中融合。
融合数据的方式有下面三种选择:
- 追加到末尾
- 替换原有数据集内容
- 合并重复的数据并将不重复的数据插入
使用Merge函数,可以很方便实现数据的后台连续加载,基本的思路是这样:
(1)、执行脚本打开首页数据,用于显示给前台用户;此时,用户能够看到数据并进行浏览及处理;
(2)、执行脚本打开后一页数据,这部分数据会在返回后,通过Merge功能追加到原有的数据集末尾,这样就形成了数据的流式加载。
至于后面Merge时的数据内容的时机和命令则由用户自行掌握。