Japer Reports - 如何在该Report的Query的WHERE子句中使用REPORT PARAMETER的值?

时间:2013-03-21 08:12:55

标签: jasper-reports

说,我有一个简单的报告,其中包含数据源设置。我将把报告嵌入Java应用程序中。在该应用程序中,用户提供特定输入。该输入将作为参数传递到报告中。根据该参数,报告的查询应生成结果。如何实现这一目标?

例如..

  1. 要求用户输入SCHOOL_ID,

  2. SCHOOL_ID作为参数传递给REPORT,

  3. REPORT将SCHOOL_ID的值放在SQL查询中,

    (SELECT * FROM学生WHERE SchoolID = $ R {SCHOOL_ID};)< ---

    ($ R {SCHOOL_ID}是此处的报告参数)

  4. 生成动态结果。

  5. 可以这样做吗? 任何教程?

1 个答案:

答案 0 :(得分:0)

查询将是这样的

  SELECT * 
  FROM Students 
  WHERE SchoolID=$P{SCHOOL_ID}

我们$ R {}用于文本字段表达式,$ P {}用于参数。如果在iReport中开发此查询,则只需从要在查询中添加的参数列表中拖动参数。

创建输入控件: -

1: - 在iReport中打开查询执行程序。

2: - 添加新参数 -

Parameter Name:- SCHOOL_ID
Value expression:- Text(if it is string)
Default value expression :- "ID01" (if its a ftring use "")