首页 / 浏览问题 / 组件GIS / 问题详情
iobject.net合并数据集
35EXP 2022年04月02日
iobject.net如何将两个或多个数据集合并到一个数据集里

1个回答

您好,请问您是在什么样的场景下需要将多个数据集合并到一个数据集里呢?合并数据集有多种情况,以下有几点建议可供您参考:

  1. 要合并的多个数据集结构完全一致:此时您可以通过记录集(Recordset)对数据集进行读取记录和追加记录的操作,实现数据集中的数据合并;
  2. 要合并的多个数据集的结构存在不一致:此时有以下情况可供您参考:
    1. 要合并的数据集存在相同字段值,合并数据集操作只是想增加不同的字段时,此时建议您可以通过 DatasetVector.AppendFields方法从源数据集向目标数据集追加字段,并根据关联字段查询结果对字段进行赋值;
    2. 要合并的数据集结构不一致且无可关联字段,此时不建议对数据集进行合并操作。

其实合并数据集操作和SQL中的合并数据表操作流程几乎一致,其限制条件也几乎一样,若您对数据库操作有一定了解的话,建议您可类比数据库合并数据表的操作流程进行数据集合并操作。

希望可以帮到您。

2,153EXP 2022年04月02日
将两个或多个recordset合并为一个
您好,因为您使用的对象是Recordset,合并的话有以下建议:

1. 新建临时的 DatasetVector 对象,将 Recordset 读取的值写入临时新建的 DatasetVector 中,然后通过DatasetVector.AppendFields方法从源数据集向目标数据集追加字段,并根据关联字段查询结果对字段进行赋值;

2. 新建一个包含要合并的 Recordset 记录集中所有字段的临时数据集,然后通过Recordset.AddNew(Geometry, Dictionary<(Of <(String, Object>)>))方法将要合并的记录逐条写入临时数据集。
...