现在的位置: 首页 > 综合 > 正文

删除featureclass和删除featureclass中的feature

2013年07月27日 ⁄ 综合 ⁄ 共 681字 ⁄ 字号 评论关闭
2:
一次性删除FeatureClass中的所有记录
08-05-22 14:49:13 作者:3s4d 出处:GIS空间站

昨天碰到一个人提问如何一次性的删除要素类中的所有要素,帮他找了找,发现具体的方法是没有的(如 deleteall removeall 之类的直接方法),但是可以从其它的思路中转换一下思路。所以在ITable接口中,发现了一个方法:

ITable:DeleteSearchedRows 
其实这个方法是删除那些通过选择搜索到的表中记录的,变通的思想就是要删除所有的要素,那么就搜索到所有的记录要素,调用这个方法就可以直接删除了。

通过实验----可以,没有问题
代码如下(贼简单 嘿嘿):
    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   ''执行,就可以删除记录了

1:QI:IfeatureClass to IDataset,IDataset.Delete(),应该想到,删除添加是很基本的功能,肯定在顶端的接口里面。呵呵。

抱歉!评论已关闭.