如何使用 arcobject 更改字段长度
本文关键字:字段 段长度 何使用 arcobject | 更新日期: 2023-09-27 17:57:09
我想用下面的代码更改sdegeodatabse中的一些字符串字段。代码运行没有任何问题。但在运行后,归档长度将恢复为默认长度。我错过了什么?
static void writetablecode(IDataset dataset)
{
ITable table = dataset as ITable;
IFieldsEdit fields = table.Fields as IFieldsEdit;
for (int i = 0; i < fields.FieldCount; i++)
{
IFieldEdit field = fields.Field[i] as IFieldEdit;
if (field.Type==esriFieldType.esriFieldTypeString & field.Length<30 )
{
field.Length_2 = 30;
}
}
}
无法
编辑字段的长度,实现此目的的唯一方法是创建一个新字段,将数据复制到新字段。http://support.esri.com/de/knowledgebase/techarticles/detail/42783
无论如何,不应使用 IFieldEdit 来更改现有字段。从 API 参考:
创建新字段时使用 IFieldEdit 接口。您不应该使用它来修改字段,为此请使用 IClassSchemaEdit。通常,修改字段时,ArcCatalog 中应用的限制也适用于 ArcObjects;例如,不能更改字段的名称或类型。