博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArcEngine数据删除几种方法和性能比较
阅读量:6868 次
发布时间:2019-06-26

本文共 2087 字,大约阅读时间需要 6 分钟。

转自原文 

一、  几种删除方法代码

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)

{

IDataset pDataset = PFeatureclass as IDataset;

pDataset.Workspace.ExecuteSQL("delete from " + PFeatureclass.AliasName + " where objectid<=" + DeleteNum);

}

 

二、  测试性能和比较

1 相同的数据条件,删除2000条记录

2 测试代码

IFeatureLayer pFeatureLayer = axMapControl1.Map.get_Layer(0) as IFeatureLayer;

IFeatureClass PFeatureClass = pFeatureLayer.FeatureClass;

System.Diagnostics.Stopwatch MyWatch = new System.Diagnostics.Stopwatch();

MyWatch.Start();

Delete1(PFeatureClass)

//Delete2(PFeatureClass);

//Delete3(PFeatureClass);

//Delete4(PFeatureClass);

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被
现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6110155.html
,如需转载请自行联系原作者
你可能感兴趣的文章
android 50 进程优先级
查看>>
软件设计之多边形区域内找点
查看>>
Medoo个人修改版
查看>>
Linux 上使用 Gmail SMTP 服务器发送邮件通知
查看>>
Linux下的定时任务Crontab
查看>>
动态规划之矩阵连乘问题
查看>>
电视剧《奋斗》能叫奋斗吗?
查看>>
关于在Windows Mobile下今日插件使用WTL的问题
查看>>
不用第三方之C#实现大容量报表系统
查看>>
[翻译]ADO.NET Entity Framework Beta2(三)/实体框架入门
查看>>
LoadRunner的那些事--lr11+IE8录制就崩溃卡死,firefox录制正常的解决方案
查看>>
JVM垃圾回收(GC)整理总结学习
查看>>
最流行的5个前端框架对比
查看>>
Activity的生命周期整理
查看>>
深入代码详谈irqbalance【转】
查看>>
算法-有向环和拓扑排序
查看>>
网站设计风格及色彩搭配技巧
查看>>
利用XMLBean轻轻松松读写XML
查看>>
[Android] Android5.1系统自带的应用启动次数统计
查看>>
C#中生成的随机数为什么不随机?
查看>>