必须显示的数据来自三个表,我在jasper report / ireport中定义字段。但是没有数据可以显示。我也传递了一个正确的数据源。我想知道在ireport中的定义字段中是否存在问题,或者如何在ireport中为特定表定义字段。例如,如果table1中有一个字段abc,那么表2中还有一个字段abc。是通过给出一个特定的表来定义字段,还是只在ireport中给出一个字段名称。
答案 0 :(得分:0)
例如,我们有两个表:
ADDRESS (ID Integer, FIRSTNAME String(256))
和
DOCUMENT (ID Integer, ADDRESSID Integer)
报告模板中的查询应如下所示:
<queryString>
<![CDATA[SELECT
ADDRESS.ID AS ADDRESS_ID,
ADDRESS.FIRSTNAME AS ADDRESS_FIRSTNAME,
DOCUMENT.ID AS DOCUMENT_ID,
DOCUMENT.ADDRESSID AS DOCUMENT_ADDRESSID,
FROM ADDRESS, DOCUMENT WHERE ADDRESS.ID=DOCUMENT.ADDRESSID]]>
</queryString>
<field name="ADDRESS_ID" class="java.lang.Integer"/>
<field name="ADDRESS_FIRSTNAME" class="java.lang.String"/>
<field name="DOCUMENT_ID" class="java.lang.Integer"/>
<field name="DOCUMENT_ADDRESSID" class="java.lang.Integer"/>
在此示例中使用( ADDRESS_ID 和 DOCUMENT_ID )的别名有助于避免与存在多个具有相同名称的列发生冲突。