如何浏览纪录(属性查询)

本例实现的是如何按照给定的查询要求,找出满足要求的记录。

l   要点

创建IQueryFilter接口对象,设置IQueryFilter.WhereClause属性为属性查询条件,使用IFeatureClass.Search方法进行查询,返回ICursor接口对象

主要用到了IFeatureClass接口、IFeature接口、IFeatureCursor接口和IQueryFilter接口。

l   程序说明

函数SelectFeatures在当前激活的Map的第一个图层中查出"FID < 2"的所有记录。

l   代码

Private Sub SelectFeatures()

    Dim pMxDocument             As IMxDocument

    Dim pMap                    As IMap

    Dim pFeatureLayer           As IFeatureLayer

    Dim pFeatureClass           As IFeatureClass

    Dim pFeature                As IFeature

    Dim pFeatureCursor          As IFeatureCursor

Dim pQueryFilter            As IqueryFilter

On Error GoTo ErrorHandler:

    Set pMxDocument = ThisDocument

    Set pMap = pMxDocument.FocusMap

    If (pMap.LayerCount = 0) Then

        MsgBox ("缺少数据")

        Exit Sub

    End If

    Set pFeatureLayer = pMap.Layer(0)

    Set pFeatureClass = pFeatureLayer.FeatureClass

    Set pQueryFilter = New QueryFilter

    pQueryFilter.WhereClause = "FID < 2"

    Set pFeatureCursor = pFeatureClass.Search(pQueryFilter, False)

    Set pFeature = pFeatureCursor.NextFeature

    Do While Not pFeature Is Nothing

        'More Operations

        Set pFeature = pFeatureCursor.NextFeature

    Loop

    Exit Sub

ErrorHandler:

    MsgBox Err.Description

End Sub

Private Sub UIButtonControl1_Click()

On Error GoTo ErrorHandler:

    SelectFeatures

    Exit Sub

ErrorHandler:

    MsgBox Err.Description

End Sub

posted on 2006-09-07 13:03  greatbird  阅读(315)  评论(0)    收藏  举报

导航