根据字段内容删除要素

/// <summary>
/// 根据字段内容删除要素
/// </summary>
/// <param name="pFeatureclass">输入要素类</param>
/// <param name="fieldName">字段名</param>
/// <param name="fieldValue">字段值</param>
/// <returns></returns>
public static bool DeleteFeatureByField(IFeatureClass pFeatureclass, string fieldName, object fieldValue)
{
if (fieldName == "" || fieldValue == null || fieldValue.ToString() == "")
{
return false;
}
try
{
string strWhereClause = string.Empty;
if (fieldValue.GetType() != "aaa".GetType())
{
strWhereClause = fieldName + "=" + fieldValue;
}
else
{
strWhereClause = fieldName + "='" + fieldValue + "'";
}
IQueryFilter pQueryFilter = new QueryFilterClass();
pQueryFilter.WhereClause = strWhereClause;
IFeatureCursor pFeatureCursor = pFeatureclass.Search(pQueryFilter, false);
IFeature pFeature = pFeatureCursor.NextFeature();
while (pFeature != null)
{
pFeature.Delete();
pFeature = pFeatureCursor.NextFeature();
}
return true;
}
catch (Exception)
{
return false;
}
}


public static bool ClearFeatures(IFeatureClass pFeatureclass)
{
try
{
YLProgress.MyProgress mp = new YLProgress.MyProgress(pFeatureclass.FeatureCount(null), "正在执行", true);

IFeatureCursor pFeatureCursor = pFeatureclass.Search(null, false);
IFeature pFeature = pFeatureCursor.NextFeature();
while (pFeature != null)
{
if (mp.ProgressStep(1))
{
mp.Dispose();
break;
}
pFeature.Delete();
pFeature = pFeatureCursor.NextFeature();
}
mp.Dispose();
return true;
}
catch (Exception)
{
return false;
}
}

posted @ 2022-03-28 11:39  南山种豆8  阅读(41)  评论(0)    收藏  举报