在为现有要素类新增字段时,有可能会爆出该表正被其余程序或其余人使用,这时咱们就会添加失败,解决办法以下:it
在新增字段以前,先修改SchemaLock的状态table
ISchemaLock pSchemaLock = m_pOriginFeatureClass as ISchemaLock;
pSchemaLock.ChangeSchemaLock(esriSchemaLock.esriExclusiveSchemaLock);程序
而后再新增字段tab
//Add New Field
int nIndexOfGBTYPE = m_pOriginFeatureClass.Fields.FindField("GB_TYPE");
if (nIndexOfGBTYPE == -1)
{
IField pField = new FieldClass();
IFieldEdit pFieldEdit = pField as IFieldEdit;
pFieldEdit.Name_2 = "GB_TYPE";
pFieldEdit.Type_2 = esriFieldType.esriFieldTypeString;
pFieldEdit.IsNullable_2 = true;
pFieldEdit.AliasName_2 = "GB_TYPE";
pFieldEdit.DefaultValue_2 = "";
pFieldEdit.Editable_2 = true;
pFieldEdit.Length_2 = 100;
m_pOriginFeatureClass.AddField(pField);
}di
//最后进行恢复处理new
pSchemaLock.ChangeSchemaLock(esriSchemaLock.esriExclusiveSchemaLock);ab