一、1. 打开ArcSDE中的FeatureClass: OpenFeatureClass(String) —> 得到featureClass对象
2. 创建游标IFeatureCusor : featureClass.insert(true);
3. 创建IFeatureBuffer : featureClass.CreateFeatureBuffer();
4. 调用IFeatureBuffer 的set_value函数设置字段的值,在这之前要获得字段的整数索引。设置IFeatureBuffer的Shape(IGeometry)。
5. 调用 IFeatureCusor的insertFeature(IFeatureBuffer).
6. 调用 IFeatureCusor的flush()函数更新到FeatureClass。
注意:在arcsde里打开featureclass时候如果该featureclass 已经注册,则获取游标featurecusor会失败,
解决方法:1、取消版本注册,然后在获取featurecusor。(取消版本注册后,要素无法编辑)
2、使用featureworkspaceEdit 编辑。
workspaceEdit.StartEditing(true);
workspaceEdit.StartEditOperation();
IFeatureCursor featureCursor = featureClass.Insert(true);
featureOID = featureCursor.InsertFeature(featureBuffer); featureCursor.Flush();
//Stop editing
workspaceEdit.StopEditOperation();
workspaceEdit.StopEditing(true);
二、不使用IFeatureCursor和IFeatureBuffer,直接使用IFeatureClass的CreateFeature()方法,然后d调用Store()方法提交。