更新指定图层指定字段的值
2016-01-28 16:35:26 访问(1430) 赞(0) 踩(0)
/// <summary>
/// 更新指定图层指定字段的值
/// </summary>
/// <param name="layerName"></param>
/// <param name="dcName"></param>
/// <returns></returns>
public string Dev4UpdateLayerData
(
string layerName,
string dcName
)
{
FeatureLayer lyr = FeatureLayerGetByName
(
layerName
);
if (lyr == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:没有找到" + layerName + "图层"
);
}
Table tb = lyr.Table;
if (tb == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:没有找到" + layerName + "图层对应的Table"
);
}
if (tb.CurrentAccessMode == TableAccessMode.Write)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:" + layerName + "图层已经被写锁定"
);
}
try
{
tb.BeginAccess(TableAccessMode.Write);
object oValue = null;
foreach (Feature fcar in tb)
{
if (fcar == null)
continue;
oValue = fcar[dcName];
if (oValue == null)
fcar[dcName] = "1";
else
fcar[dcName] = "1" + oValue.ToString();
// 这个是关键 //
fcar.Update();
}
}
catch (Exception err)
{
throw err;
}
finally
{
if (tb.CurrentAccessMode
==
TableAccessMode.Write)
{
if (tb != null
&&
tb.CurrentAccessMode == TableAccessMode.Write)
{
tb.EndAccess();
}
}
}
return Dev4ShowLayerData(layerName, dcName);
}
标签:
更新指定图层指定字段的值 


上一条:
下一条:
相关评论
发表评论