首页 / 浏览问题 / 组件GIS / 问题详情
组件从rset 中取出连接表的记录属性值。
580EXP 2018年03月20日

8C组件

这个连接,想要从rset 中取出连接表的记录属性值怎么办?这个rset 还是只有ly中的字段,没有它joinitem中的外联表的字段属性

 QueryParameter pcz = new QueryParameter();
            pcz.JoinItems = joinitems;
            pcz.AttributeFilter = String.Format("Median>0 AND Median*SHAPE_AREA/{0} > {1}", et.Subtract(st).Days * 24, avg);//超限区域
            Recordset rset = ly.Query(pcz);

1个回答

请确认两个数据集是否同数据源,为避免此问题,建议用linkitem做关联查询

5,985EXP 2018年03月20日

老师能不能回复清楚点,或者给个示例代码?

如上代码所示,我想将一个要素类与一个外联属性表进行关联,然后设置查询条件,该查询条件中涉及的字段其中一个来自主表(ShapeArea),另外一个来自关联表(Median),目的是把符合查询的主表中的要素取出来,同时结果集中的要素也包含关联的外联表中的对应字段的属性,但是按照上述代码,同样取不到关联要素的对应记录及属性,请问怎么破?

你先在桌面产品试试能查出来不
在桌面端操作是有结果返回的,连接是成功的,在代码中

//pcz.AttributeFilter = String.Format("{0}.Median>0 AND {0}.Median*{1}.SHAPE_AREA/{2} > {3}", foreignTableName, ly.TableName, et.Subtract(st).Days * 24, avg);

 Recordset rset = ly.Query(pcz);

当把pcz.AttributeFilter这句注释掉,则返回了整个A表的记录,如果不注释,则无记录返回(不知何故,但是用joinitem,相同的过滤条件同样有记录返回。),

主要问题是即使 Recordset rset = ly.Query(pcz);这句返回的结果不为空,这里面的属性字段也只包含主表中的属性,没有关联表的属性字段,怎么办?
说白了我就是要取出连接结果,怎么取?谢谢
...