版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sx341125/article/details/54962230
在使用ArcEngine查询空间数据库的时候主要使用三种查询接口:
- IQueryFilter
- ISpatialFilter
- IQueryDef
那么这三个接口的区别是什么呢?
要求 | IQueryFilter | ISpatialFilter | IQueryDef |
---|---|---|---|
属性约束 | True | True | True |
空间约束 | False | True | False |
查询结果包括多个表的字段 | False | False | True |
查询结果返回一个游标 | True | True | True |
RecordSet对象可以从结果中创建 | True | True | True |
返回的记录可以被编辑 | True | True | False |
Records include edits made in active edit session | True | True | False |
从上面的表格不难看出:
- ISpatialFilter接口相比之下可以实现基于空间约束的查询;
- IQueryDef接口可以实现多表查询
当然还有一些细小的差别在其中,我们可以通过帮助文档进行比较。