FeatureClass的三种Cursor

今天做了一个小功能,把Txt文件转成shp,txt中只有三列,分别是X,Y,Z值。生成shp时不指定坐标系。

代码很简单,写完后调试,报了一个错,为Hresult:0x80041051。AE开发比较讨厌的就是这种COM报错,基本上提示信息里没有任何有帮助的内容。后来仔细查看代码,发现把Cursor用错了。用了Update的cursor去做insert,改成用Insert的Cursor后程序就正常运行了。


FeatureClass有三类Cursor,分别由三个方法获取,Insert(),Update()和search()。一类Cursor只能做一种操作,用错Cursor就会报上面的COM错误。这一点因为和通用的数据库开发接口不一样,需要在开发中注意,如Oracle中Insert、Update,甚至delete,都合并用一种方式--Command的Execute实现,search()通过Adapter的Fill()实现。


向FeatureClass插入要素时,有两种方式:单个插入和批量插入。但凡做开发,就要考虑效率。因此除非实际需求是单条插入,否则要用批量。


单个插入方式实现:

Ifeatue  fe= IFeatureClass.createFeature();

fe.set_value();(shape字段要用Fe.shape=xx)

...

fe.store();


批量插入方式实现:

IFeatueBu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值