五分钟学GIS | SuperMap iObjects .NET批量更新

   使用SuperMap iObjects .NET进行编码时,数据编辑是常用功能,经常涉及数据的增加、删除、修改等操作;目前SuperMap iObjects .NET提供逐条更新和批量更新两种方式,本文将为您解析如何正确使用并提升数据编辑效率。
   概念介绍
   逐条更新是指更新过程中单次完成对数据的更新后,就调用方法将未提交的更新数据写入数据库中。
   批量更新即在更新过程中单次对数据更新后并不立即写入数据库,当未提交的更新数量达到一定阈值后统一提交写入数据库中。
   性能对比
   以下采用SuperMap iObjects .NET从数据添加、空间对象编辑、属性编辑三个方面,使用UDB数据源中的点数据集,自动提交的最大记录数采用默认的1024,对记录集的单条更新和批量更新进行性能对比。
五分钟学GIS | SuperMap iObjects .NET批量更新_第1张图片
   根据以上性能对比来看,当进行单条记录更新时,单条更新和批量更新效率相差不大;但进行多条记录进行更新时,批量更新的效率远远高于单条更新。但在实际使用的过程中,往往更新的记录数远不止一条,所以在进行数据编辑时推荐使用批量更新,这样将使您的数据编辑功能效率成百倍的提升。
   使用流程
   批量更新操作包括批量添加、批量更改、批量删除,在使用批量更改时,不再需要调用锁定编辑方法(Recordset.Edit),即可实现数据的编辑操作。批量更新具体使用流程如下图所示。
五分钟学GIS | SuperMap iObjects .NET批量更新_第2张图片
   PS:对于自动提交最大记录数属性(MaxRecordCount),代码中可以不设置采用默认值为1024;该属性值必须在调用 BatchEditor. Begin () 方法前设定,否则会抛出异常。
   批量更新方法除对组件产品有效外,对服务器产品同样适用;当使用服务器产品进行数据编辑时,同样推荐使用批量更新。

你可能感兴趣的:(组件GIS)