4

我想创建一个必须从不同表中调用多个字段的报告。从到目前为止我在网上阅读的内容来看,唯一的方法是拥有子报告。

这是真的,还是有一种方法可以对不同的表运行多个查询来检索数据?

4

1 回答 1

5

当您需要运行多个查询时,您有以下选项:

  • 使用子报表。这是最古老的(自 JasperReports 1.x 以来支持)和最强大的方法,因为它允许您对第二个查询的结果执行几乎任何操作。但是,这也很费力,当您拥有超过一两个子报表时,它很快就会变得难以管理。

  • 使用数据集。这些允许您运行单独的查询,结果集可以在一组有限的组件中使用(我知道的图表)

  • 使用表格。这些是相当新的(在 JasperReports 3.7 中引入)并允许您运行单独的查询来填充特定的表。

我的经验是,在大多数情况下,您不需要多个查询。大多数情况可以通过一个定义良好的 SQL 查询来处理。如果您需要来自多个表的数据,您可能会通过在单个查询中小心地加入它们来摆脱困境。

于 2010-10-13T19:36:40.390 回答