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