【问题标题】:How do change field length with arcobject如何使用 arcobject 更改字段长度
【发布时间】:2015-06-20 05:25:16
【问题描述】:

我想用下面的代码更改 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;
                }

            }
        }

【问题讨论】:

    标签: c# database field geo arcobjects


    【解决方案1】:

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

    IFieldEdit 无论如何都不应该用于更改现有字段。来自 API 参考:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多