根据指定的需要更新的字段名,用指定的表达式计算结果更新符合查询条件的所有记录的字段值。需要更新的字段不能够为系统字段,也就是说不可以为sm开头的字段(smUserID除外)。
命名空间:
SuperMap.Data程序集: SuperMap.Data (in SuperMap.Data)
版本: dll
语法
C# |
---|
public bool UpdateField( string fieldName, string expression, string attributeFilter ) |
参数
- fieldName
- Type: System..::.String
需要更新的字段名。
- expression
- Type: System..::.String
指定的表达式。表达式可以是字段的运算或函数的运算。例如:"SMID" 、"abs(SMID)"、"SMID+1"、 " '字符串'"。
- attributeFilter
- Type: System..::.String
要更新记录的查询条件,如果 attributeFilter为空字符串,则更新表中所有的记录。
返回值
更新字段成功返回true,否则返回false。示例
假设打开了一个工作空间workspace,工作空间中有一个矢量数据集(datasetVector),数据集包含字段 Pop_1994,代表1994年的人口数目。
以下代码示范如何对数据集中的字段进行更新操作。
CopyC#
public void TestUpdateField(Workspace workspace, Datasource datasource) { // 取出数据源中名为 "World" 的矢量数据集(datasetVector) DatasetVector datasetVector = (DatasetVector)datasource.Datasets["World"]; //对数据集中名为 Pop_1994 的字段,将该字段中大于一百万的数值统一更新为“1000000”。 datasetVector.UpdateField("Pop_1994", "1000000", "Pop_1994 > 1000000"); Console.WriteLine("更新完成"); }