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

最新文章

  1. 解决 eclipse中properties文件编码问题
  2. Linear Algebra lecture9 note
  3. 关于VS2010出现“此方法显式使用的 CAS 策略已被 .NET Framework 弃用... ...请使用 NetFx40_LegacySecurityPolicy 配置开关”解决办法
  4. mrunit for wordcount demo
  5. MVC @helper (转载)
  6. Oracle中创建视图
  7. DEV PivotGridControl 全选行或列
  8. 操作html标签之找到标签
  9. JavaScript之对象序列化详解
  10. Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by
  11. MySql 如何实现不同数据库同步【2个】
  12. Kosaraju算法解析: 求解图的强连通分量
  13. 【JDK1.8】JDK1.8集合源码阅读——TreeMap(二)
  14. PE文件详解(九)
  15. 使用Glide以及OkHttp集成
  16. Github提交本地代码
  17. Container&injection
  18. Snmp学习总结(一)——Snmp的基本概念
  19. getpwnam,getgrnam,getpwent,crypt等函数
  20. IIS 禁止回收

热门文章

  1. centos的dns配置总结
  2. Onsctl 配置ONS服务(10G)
  3. OpenCASCADE Job - 上海地目
  4. LinearLayout-控件不显示
  5. 73.fseek与宽字符读取文件
  6. 1.3 Quick Start中 Step 8: Use Kafka Streams to process data官网剖析(博主推荐)
  7. 去掉“此电脑”中的“WPS云文档”图标
  8. Linux登录状态
  9. SQLITE数据表主键设置Id自增方法
  10. 洛谷——P1316 丢瓶盖