首页 / 浏览问题 / 组件GIS / 问题详情
query功能的attributefilter该如何使用
70EXP 2023年06月23日
我想同时查询两个条件下的结果,用And没用。 比如两个字段,A和B。我想检索A=1且B>2,用AND连接却报红。 那我该怎么做呢?

2 个回答

之前都是单一条件筛选即可,字符串形式填入就可以实现。但是利用AND或者OR都不行
70EXP 2023年06月23日
您好,首先确定您的数据集中有这两个字段,并且值正确,

其次建议您多字段查询条件时,使用完整的字段表述 数据集名.字段名,比如:

Line3D.SmUserID =123 and Line3D.UserID_1 ="一二三四"

希望可以帮助到您。
10,588EXP 2023年06月25日

按照您的方法没有成功,最后搜索的结果还是0。以下是我的属性表,我想找出预警>0其网格划分=1且断面划分=1的记录(共五个,5=4+1)。最后查找到的记录集数量为0。

我的代码是:(rset_fishnet_Cal是记录集,fishnet_Cal是对应的矢量数据集)

int a = rset_fishnet_Cal.getDataset().query("fishnet_Cal.网格划分=1 and fishnet_Cal.断面划分=1 and fishnet_Cal.预警>0",CursorType.STATIC).getRecordCount();

您确定下这几个字段是不是都是整型数值型,数值型才可以 ****=1 ,文本型的话需要***=“1”

我看您截图中,并没有满足您条件的数据呢,网格换分和断面划分都为1的。
不好意思我之前的代码是写错了,我想查询的是“预警=4and网格划分=1”但还是一样的,最后结果为0。字段没有文本格式,都是整型。

我可能还是不太清楚清楚如何通过代码实现多字段查询进行属性筛选。有没有什么可以参考的吗?
预警和网格划分是您的字段名称还是字段别名?查询需要使用字段名称,不能用别名。
...