DeleteSearchedRows一次性删除FeatureClass中所有记录要素
- 组件式GIS
- 2008-08-22
- 131热度
- 0评论
通过实验----可以,没有问题
代码如下(贼简单 嘿嘿):
Dim pMXD As IMxDocument
Set pMXD = ThisDocument
Dim pLyr As IFeatureLayer
Set pLyr = pMXD.FocusMap.Layer(0)
Dim pTable As ITable
Set pTable = pLyr.FeatureClass ''QI
Dim pQueryF As IQueryFilter ''定义查询条件对象
Set pQueryF = New QueryFilter ''不设置查询过滤条件,表示将全部查询
pTable.DeleteSearchedRows pQueryF ''执行,就可以删除记录了
昨天碰到一个人提问如何一次性的删除要素类中的所有要素,帮他找了找,发现具体的方法是没有的(如 deleteall removeall 之类的直接方法),但是可以从其它的思路中转换一下思路。所以在ITable接口中,发现了一个方法:ITable:DeleteSearchedRows
其实这个方法是删除那些通过选择搜索到的表中记录的,变通的思想就是要删除所有的要素,那么就搜索到所有的记录要素,调用这个方法就可以直接删除了。