ArcObjects中Cursor的三种类型

来源:互联网 发布:相片拼图软件 编辑:程序博客网 时间:2024/04/29 22:07

  Cursor对象(包括其子类FeatureCursor)便于在一个对象中可以管理许多记录。Cursor中的记录集的子集可以通过空间条件,属性条件或同时使用这两种条件的过滤来定义。Cursor一旦创建,就可以很方便地循环调用其中的每一条记录。
从Table或Feature产生的Cursor有三种类型。具体是什么类型完全取决于生成Cursor所使用的方法。每种Cursor可用的接口是一样的,具有相同的方法和属性,但如果对于Cursor的类型和你的应用不复的话,调用这些方法时就会返回错误。
一/查询型Cursor
查询型Cursor是通过调用Search方法生成的,用来进行一些不必进行修改记录的操作,一般是一些统计计算,记录数计算或显示。
dim myCursor as IfeatureCursor
set myCursor =pFClass.Search(pQFilter,False)
查询型Cursor不能调用诸如InsertRow,DeleteRow或UpdataRow方法。其唯一的方法是NextRow (NextFeature).
用于顺序访问Cursor的每条记录。
二/更新型Cursor
更新型Cursor是通过在Table或FeatureClass中调用Updata方法创建的,用于生成Cursor的数据库中更新或删除记录。
当然和查询型Cursor一样,都是通过QueryFilter对象生成的。它也使得可以保存所返回的Cursor中的,
某些记录或全部记录(Nothing关键字)。更新型Cursor不能调用InsertRow(InsertFeature)方法。
Dim myCursor as IFeatureCursor
set myCursor=pFClass.Update(pQFilter,False)

三/插入型Cursor
通过在在Table或FeatureClass中调用Insert方法创建的。用于向生成Cursor的数据库中插入新的记录
(Table中的行,FeatureClass中的要素)。插入型Cursor不需要QueryFilter参数。不支持NextRow(NextFeature)方法,
也不支持UpdataRow方法。
Dim myCursor as IFeatureCursor
set myCursor=pFClass.Insert(Ture)  

原创粉丝点击