zoukankan      html  css  js  c++  java
  • 使用AO新增记录的3种方法【转载】

    使用AO新增记录的3种方法【转载】
    http://www.ggiiss.com/gis/59/482.html


    在向Table、FeatureClass 中添加记录的时候有几种可供选用的插入方法
    他们在不同的使用环境中效率不同……
    过程描述
    -------------
    1 Store 方法
    使用IRow、IFeature 的Store
    由ITable 或 IFeatureClass 的 CreateRow() CreateFeature() 方法先创建对象经赋值操作后调用 Store
    此方法在各种环境中速度均较低 但其获得的信息相对最全 适用于经UI交互产生的数据对象
    a)在CreateRow() 时进行一次数据库访问 [insert]
    b)创建之后已Row中已返回 OID 值
    c)其他字段赋值之后调用Store 进行第二次数据库访问 [updata] 此时激发 Row对象的 onChange等事件调用
    --------------
    2 WriteRow方法
    使用ITableWrite.WriteRow() 或 IFeatureClassWrite.WriteFeature()
    由ITable 或 IFeatureClass 的 CreateRow() CreateFeature() 方法先创建对象
    经赋值操作后调用 ITable.WriteRow() 或 IFeatureClass.WriteFeature()
    此方法调用ITableWrite这类较底层的接口 区别在于在写入数据时不会激发相应事件
    在对象不影响网络拓扑结构的前提下写入几何网络图层数据速度较快
    a)在CreateRow() 时进行一次数据库访问 [insert]
    b)创建之后已Row中已返回 OID 值
    c)其他字段赋值之后调用Store 进行第二次数据库访问 [updata] 此时不激发事件

    -----------------
    3 Insert Buffer
    使用ITable.CreateRowBuffer() 或 IFeatureClass.CreateFeatureBuffer()创建内存对象
    由IFeatureCursor.InsertFeature()写入只访问一次数据库速度较快 但是内存对象在写入前
    OID=-1 适用于批量写入简单要素
    a)在CreateRowBuffer() 创建内存对象
    b)创建之后已Row中OID = -1
    c)其他字段赋值之后调用ICursor.Insert() 进行一次数据库插入 此时不会相应事件


  • 相关阅读:
    redis知识梳理
    网络编程
    netty
    浏览器发数据到服务器的过程
    spring事务
    springboot-
    《食堂远程下单系统》需求规格说明书
    《食堂远程下单系统》设计规格说明书
    OrderOnline——功能需求
    OrderOnline——项目概述
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1214759.html
Copyright © 2011-2022 走看看