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);
}

IQueryFielter接口的更多相关文章

  1. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  2. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  3. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  4. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  5. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  6. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

  7. 【WCF】自定义错误处理(IErrorHandler接口的用法)

    当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...

  8. PHP以接口方式实现多重继承(完全模拟)--学习笔记

     1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...

  9. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

随机推荐

  1. log大全

    http://www.iconfont.cn/search/index?q=%E6%88%91%E7%9A%84&page=3

  2. css--两行显示省略号兼容火狐浏览器

    css--两行显示省略号兼容火狐浏览器 正常写法: .ellipse1{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;} . ...

  3. JavaScript笔记(2)

    -->变量的定义 1.取得并使用值是所有程序设计中的要点 2.JS中的变量是没有类型的,在JS中只有值才持有类型,变量所持有的是其对应值的类型. 3.变量的取名要符合标识符的规则: (1)一个J ...

  4. 今日SGU 5.9

    SGU 297 题意:就是求余数 收获:无 #include<bits/stdc++.h> #define de(x) cout<<#x<<"=" ...

  5. Oracle 11gR2光钎链路切换crs服务发生crash

    Oracle 11gR2光钎链路切换crs服务发生crash 背景: 我们将Oracle 11gR2(11.2.0.4)在RedHat EnterPrise 5.8上通过RDAC完毕的多路径链路冗余. ...

  6. jquery--new返回值

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  7. monkey基础知识(二)

  8. Python数据类型中的字符串类型

    1.换行字符:\n print ('I love python.\nAnd you?') 2.转义字符(\):\\ print ('\\\n\\') 3.制表字符(对齐表格的各列):\t print ...

  9. [React & Testing] Simulate Event testing

    Here we want to test a toggle button component, when the button was click, state should change, styl ...

  10. query中prop()方法和attr()方法的区别

    query1.6中新加了一个方法prop(),一直没用过它,官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值. 官方例举的例子感觉和attr()差不多,也不知道有什么区别,既然有了prop ...