1. 程式人生 > >AE+C#把資料寫入GDB資料庫裡出現 “對COM元件的呼叫返回了錯誤 HRESULTE_FAIL”

AE+C#把資料寫入GDB資料庫裡出現 “對COM元件的呼叫返回了錯誤 HRESULTE_FAIL”

public void CreateFeatureClass_Terrain_Info(IFeatureWorkspace IFW)
        {
IFeatureClass tempFeatureClass = IFW.OpenFeatureClass(StringDBName_Terrain_Info);


            //設定名稱  (寫入資料庫的資料)
            pField = new FieldClass();
            pField.Name_2 = "Name";
            pField.AliasName_2 = "名稱"
; pField.Type_2 = esriFieldType.esriFieldTypeString; pField.Length_2 = 15; pFieldsEdit.AddField(pField); ...... //寫入資料庫的更多資料 IFW.CreateFeatureClass(StringDBName_Terrain_Info, pFieldsEdit, null, null, esriFeatureType.esriFTSimple, "Shape", ""); }

出現了”對COM元件的呼叫返回了錯誤 HRESULTE_FAIL”錯誤

解決方法如下:

由於我呼叫的是Open方法,GDB資料庫沒有建立的情況下,無法Open(開啟)Terrain_Info表。

所以需要把這行註釋掉,

IFeatureClass tempFeatureClass = IFW.OpenFeatureClass(StringDBName_Terrain_Info);

就能直接建立Terrain_Info 的 CreateFeatureClass。

邏輯:先建立→再開啟