2

我正在使用 BIRT 报告编写器,并且我有多个具有相同数据结构的表。在我的报表设计中,我想选择我的查询用作报表参数的表(作为数据集中 mysql 查询的一部分)——但我无法弄清楚。

当我创建数据集时,我可以使用 SELECT * FROM WHERE 形式的参数,并将这些参数设置为报告参数,但如果我设置了?到表中,例如:

选择 * 从 ? 在哪里 1

还有其他方法可以做到这一点吗?因为它是 java,所以我假设语法遵循 PreparedStatement 的语法。在 BIRT 2.5 中,数据集对话框下有一个属性绑定选项……我尝试将查询设置为:“SELECT * FROM”+params[“DataTable”].value+“WHERE 1”,但这也是导致错误。

4

1 回答 1

4

我刚刚在 BIRT Exchange 上回答了同样的问题:http: //www.birt-exchange.org/forum/designing-birt-reports/19097-set-query-table-using-report-parameter.html#post62590

我应该注意,修改后的查询必须返回相同的字段和数据类型。我只注意到这一点,因为您在上面的陈述中表结构“有点”变化。在 BIRT 查询中修改 FROM 或 WHERE 子句是完全安全的,但不能修改实际的 SELECT 构造。

于 2010-04-05T14:27:52.647 回答