一、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()方法提交。