zoukankan      html  css  js  c++  java
  • IQueryFielter接口

    IQueryFilter基于属性查询过滤数据。需要定义一个where子句。可以指定要返回值的字段列表。如果没有指定列,将返回所有值。当需要根据属性值和属性的关系过滤数据时,使用该接口。

    成员

    AddField,OutputSpatialReference,SubFields,WhereClause

    IQueryFilter.WhereClause属性

    public string WhereClause{get;set;}

    WhereClause子句用于指定子句限制要素。

    字段名称

    在file geodatabase,shapefile,dBase table,coverage,INFO table中查询,字段名称用””括住,如“AREA”。

    在personal geodatabase中,字段名称用[]括住。

    在ArcSDE geodatabase或ArcIMS image service或 feature service中查询时,字段名不用括住。

    在工作表如Excel文件(.xls文件)或text文件(.txt文件)中查询时,字段用‘’括住,使用表格窗体的Select By Attributes对话框时,用中括号[]。

    字符

    字符都用‘’。

    Personal geodatabase中不区分大小写,但在ArcSDE,File和shapefiles中区分大小写。可以用SQL函数将值转化成大写或小写。使用基于文件的数据源时,用UPPER或LOWER函数。例如下个表达式将选择名为Jones或JONES的客户:UPPER(“LAST_NAME”)=’JONES’.其他数据源也有相同的函数例如personal geodatabase中的UCASE和LCASE函数。

    使用LIKE可以创建一个不完整的搜索字符。

    通配符

    通配符时表示一个或多个字符的特殊符号。

    在基于文件的数据中使用‘%’表示任意个字符,‘_’表示一个字符。在personal geodatabase中‘*’表示任意个字符,‘_’表示一个字符。

    注意在表达式中使用‘=’和通配符,通配符将会作为一个字符对待。

    在连接表中,使用通配符要适合连接的数据源,如果查询涉及连接的两个部分,使用‘%’和‘_’通配符。例如,将一个dbf文件(join table)连接到个人数据库的要素类中(target table)。

    使用‘*’查询个人数据库的字段,使用‘%’查询dbf的字段,使用‘%’查询两个数据源的字段。

     

    与QueryDef对象不同,QueryFilter对象支持所有的workspace,包括shapefiles和coverages。要使用ORDER BY和GROUP BY子句查询属性,查看IQueryFielterDefinition::PostfixClause。

     

    public void IQueryFilter_(IFeatureClass featureClass)
    {      
        IQueryFilter queryFilter=new QueryFilterClass();             
        queryFilter.SubFields="STATE_NAME,POPULATION";      
        queryFilter.WhereClause="STATE_NAME='CaliFornia'";      
        IFeatureCursor featureCursor=featureClass.Search(queryFilter,false);
    }
  • 相关阅读:
    关于this关键字
    Java元注解
    缩点+spfa最长路【bzoj】 1179: [Apio2009]Atm
    使用Windows API进行串口编程
    串口编程基础知识
    设计模式--代理模式
    用Java实现断点续传的基本思路和代码
    断点续传的原理
    JAVA的StringBuffer类
    StringBuilder用法
  • 原文地址:https://www.cnblogs.com/arxive/p/6119965.html
Copyright © 2011-2022 走看看