如何使用 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;
                }
            }
        }

如何使用 arcobject 更改字段长度

无法

编辑字段的长度,实现此目的的唯一方法是创建一个新字段,将数据复制到新字段。http://support.esri.com/de/knowledgebase/techarticles/detail/42783

无论如何,不应使用 IFieldEdit 来更改现有字段。从 API 参考:

创建新字段时使用 IFieldEdit 接口。您不应该使用它来修改字段,为此请使用 IClassSchemaEdit。通常,修改字段时,ArcCatalog 中应用的限制也适用于 ArcObjects;例如,不能更改字段的名称或类型。