首页 / 浏览问题 / 组件GIS / 问题详情
如何修改字段名称
3EXP 2021年10月13日
原字段名为admincode,想改为countycode

自己的写的代码如下,望大佬解决下问题出在哪里

string path = @"E:\anhui.udb";
            Datasource ds = Openudb(path);
            Dataset dt = ds.Datasets["village"];
            DatasetVector dv = dt as DatasetVector;
            Recordset rst = dv.GetRecordset(false, CursorType.Dynamic);
            rst.Edit();
            FieldInfos fis = rst.GetFieldInfos();
            FieldInfo fi1 = new FieldInfo();
            fi1.Type = FieldType.Text;
            fi1.Name = "countycode";
            
            fis.Modify("admincode",fi1);
            
            rst.Update();

1个回答

您好,有两个问题,首先edit状态是记录编辑状态(记录行数据),不是操作字段的东西,

Get类方法,对c#概念来说是get;不包含set;是获取数据,获取出来的数据和原来的是没有关联的,所以直接修改改不到源数据上;

如果要修改几何啊、属性啊、字段啊,使用set系的方法才可以。

希望可以帮助到您!
10,538EXP 2021年10月14日
好,谢谢,我试试哈!
set类的是给赋值,现在我只想调用modify这个方法,但是好像调用上的方式方法不太正确,能指点一下么!
modify修改的是FieldInfos,你调用修改后FieldInfos对象的信息没有被修改嘛?
就是没有修改到!才觉得自己调用上出了问题!
我也就是想修改FieldInfos里面的一个字段的名称。
是我的错,modify是改字段属性,改不了字段名称,改字段名称需要调用哪个方法呢!
Fieldinfos是个组啊,直接[]到你要改的那个Fieldinfo去.属性name什么的去改就可以啊。

能不能修改

fieldInfo.Name?我直接给name重新赋值不行!
...