您的位置:首页 > 产品设计 > UI/UE

如何寻找图层中某一字段中有多少个不同值(DISTINCT,pQueryFilter )的方法

2007-10-21 20:43 411 查看
我们可以使用以下这两种方法,但建议使用ARCSDE Geodatabase数据类型或者ACCESS GDB来进行相关操作:

一种:

ICursorPtr ipCursor;

IQueryFilterPtr ipQueryFilter(CLSID_QueryFilter);

hr=ipQueryFilter->put_SubFields(_bstr_t("DISTINCT "+strFields)); //strFields的形式是连续字段名用英文逗号隔开。

hr=ipTable->Search(ipQueryFilter,VARIANT_FALSE,&ipCursor);

二种:

Public Sub ShowUniqueValues(pTable As ITable, sFieldName As String)

Dim pQueryDef As IQueryDef

Dim pRow As IRow

Dim pCursor As ICursor

Dim pFeatureWorkspace As IFeatureWorkspace

Dim pDataset As IDataset

Set pDataset = pTable

Set pFeatureWorkspace = pDataset.Workspace

Set pQueryDef = pFeatureWorkspace.CreateQueryDef

With pQueryDef

.Tables = pDataset.Name ' Fully qualified table name

.SubFields = "DISTINCT(" & sFieldName & ")"

Set pCursor = .Evaluate

End With

Set pRow = pCursor.NextRow

Do Until pRow Is Nothing

Debug.Print pRow.Value(0) ' Note only one field in the cursor

Set pRow = pCursor.NextRow

Loop

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐