• QDataSet – 如何比较两个数据集内容的差异


    QDataSet 提供了两个函数来比较两个数据集的差异,并将结果保存到第三个数据集。

    procedure Intersect(ASource1, ASource2: TQDataSet; AFields: QStringW);
    procedure Diff(ASource1, ASource2: TQDataSet; AFields: QStringW;AIncSource1,AIncSource2:Boolean);

    两个函数,其中 Intersect 函数用于取两个数据集中的交集部分,而 Diff 函数用于取两个数据集中不一样的部分。这两个函数的 AFields 用于记录要比较的字段列表,多个字段之间以 “,” 或 “;” 分隔,如果两个数据集中要比较的字段的名称不一致,则使用:

    ASource1中的字段名=ASource2中的字段名

    这种方式来建立两者之间的映射关系,如果两个字段名不一致,则会取第一个结果集中的字段名为最终结果集的字段名。

    在使用这两个函数时,还要注意一点:这两个要比较数据集中对应的字段的类型要保持一致,否则比较无意义,程序会抛出异常。

    Intersect 用于计算两个数据集中共同的记录,而 Diff 用于计算两个结果集中不同的记录,但额外提供了两个参数:

    • AIncSource1 为 True 时,将 ASource1 中有,而 ASource2 中无的记录加到结果中
    • AIncSource2 为 True 时,将 ASoruce2 中有,而 ASource1 中无的记录加到结果中

    至于它们的调用方法,So easy!

  • 相关阅读:
    ajax()方法与后台交互
    实现CSS中的垂直水平居中(附带Flex布局,CSS3+SASS完美版)
    yield语句
    匿名方法和Lambda表达式
    委托、Lambda表达式和事件
    分治法
    分治法求一个N个元素数组的逆序数
    快速找出故障机器
    C++关联容器综合应用:TextQuery小程序
    转:做一个有趣的有意思的人
  • 原文地址:https://www.cnblogs.com/jijm123/p/10905051.html
Copyright © 2020-2023  润新知