QueryFilter有一个SubFields属性和一个AddField方法。
对于SubFields属性是这样描述的。The comma delimited list of field names for the filter。
对于AddField方法是这样描述的。Appends a single field name to the list of sub-fields。
而这两者是有区别的。
从效果上来看,SubFields设置为OID字段,并不能加快查询的速度和要素游标的遍历速度,而会对遍历出的要素的属性进行限定;通过AddField方法添加OID字段,查询速度会明显加快,对遍历出的要素属性也不会进行限定,每个字段都能进行正常获取。通过AddField设置字段,也不会改变SubFields的值。
所以,推测Search方法大概是这么一个过程。AddField方法添加的字段,是用来进行查询的,相当于select [列名] from table;要素游标遍历时,查询到的结果内构成feature,在内构的过程中,用SubFields来进行属性的屏蔽。
本文探讨了QueryFilter中SubFields属性与AddField方法的区别。SubFields用于定义查询时要包含的字段列表,而AddField则逐个添加字段。通过AddField指定的字段用于实际查询,类似于SQL中的SELECT语句;SubFields在要素游标遍历过程中用于限制属性信息。

639

被折叠的 条评论
为什么被折叠?



