如何寻找图层中某一字段中有多少个不同值(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
一种:
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
相关文章推荐
- AutoCAD 读取ArcGIS图层数据某一字段值的方法
- 如何寻找关键词和优化关键词的方法
- JAVA如何根据jsp页面时间(开始到结束时间)和checkbox选择不同的多少出现不同的曲线
- asp如何取得新插入记录的ID(ACCESS库和MSSQL方法不同)
- 页面中包含同一个asp.net控件多次,如何产生不同的javascript方法名
- android一个应用如何在一个手机上装多个不同版本的方法
- 如何实现arcgis图层属性字段物理顺序的修改
- Android Studio中如何跳到某一个方法
- 20170801_动态规划之爬楼梯有多少不同的方法
- 在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了
- 数组与列表访问某一列的方法不同
- 如何很好的使用Linq的Distinct方法
- MySQL按照同一字段的不同值求和某一列
- 如何让ECSHOP不同的分类调用不同模板方法
- [VB.NET]如何在SQL2005和ADO环境下写入大于1GB的文件进入某一字段
- 用SQL语句查询数据库中某一字段下相同值的记录方法
- 如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。
- 如何将带有X、Y、Z字段的数据库表作为点图层加载
- BI笔记之---SSAS中关于某一度量需要先后根据不同维度的不同聚合方法的解决
- yii CGridView 如何根据字段值来显示不同的自定义按钮或者文字?