1、IFeatureCursor 游标查询后,遍历删除

2、更新游标删除IFeatureCursor.DeleteFeature()

3、ITable.DeleteSearchedRows删除

4、 IDataset.Workspace.ExecuteSQL

 

一、  几种删除方法代码

1.  查询结果中删除

 

private void Delete1(IFeatureClass PFeatureclass)
{
IQueryFilter pQueryFilter
= new QueryFilterClass();
pQueryFilter.WhereClause
= "objectID<=" + DeleteNum;
IFeatureCursor pFeatureCursor
= PFeatureclass.Search(pQueryFilter, false);
IFeature pFeature = pFeatureCursor.NextFeature();
while (pFeature != null)
{
pFeature.Delete();
pFeature
= pFeatureCursor.NextFeature();
}
System.Runtime.InteropServices.Marshal.ReleaseComObject(pQueryFilter);
}

2.  更新游标删除

private void Delete2(IFeatureClass PFeatureclass)
{
    IQueryFilter pQueryFilter = new QueryFilterClass();
    pQueryFilter.WhereClause = "objectID<=" + DeleteNum;
    IFeatureCursor pFeatureCursor = PFeatureclass.Update(pQueryFilter, false);
    IFeature pFeature = pFeatureCursor.NextFeature();
    while (pFeature != null)
   {
      pFeatureCursor.DeleteFeature();
      pFeature = pFeatureCursor.NextFeature();
    }
    System.Runtime.InteropServices.Marshal.ReleaseComObject(pQueryFilter);
 }


3.  使用DeleteSearchedRows删除
private void Delete4(IFeatureClass PFeatureclass)
        {
            IQueryFilter pQueryFilter = new QueryFilterClass();
            pQueryFilter.WhereClause = "objectID<=" + DeleteNum;
            ITable pTable = PFeatureclass as ITable;
            pTable.DeleteSearchedRows(pQueryFilter);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(pQueryFilter);
        }

4.  ExecuteSQL删除
private void Delete4(IFeatureClass PFeatureclass)
        {
    

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-03
  • 2021-12-25
  • 2021-05-19
  • 2021-07-25
  • 2022-02-24
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
  • 2022-01-04
  • 2022-12-23
  • 2021-08-11
  • 2022-12-23
相关资源
相似解决方案