参数(Parameters):应用程序动态传给报表的参数,如希望报表动态
执行某个SQL 查询条件。定义方法如下:从“窗口”菜单中打开“Report
Inspector”窗口,鼠标右键点击“Parameters”,选择“添加”项。例如动态
定义SQL 查询条件年份:
(1) 先定义变量:year
(2) 设置查询SQL 如下(设置方法参看“设置查询SQL”一节):
select * from data where report_year = $P{year}
(3) 应用程序传参数给报表,方法参见“输出PDF 的JSP 程序”一节中给
参数parameters 设置值的方法。
参数的引用方式有两种,一种是$P{},另一种是$P!{},前者可以出现在任
意的表达式位置,而后者则只能出现在SQL 脚本里,用来替换查询语句,用以
按照不同的需求替换查询语句。同时,在脚本里,也有些许区别:前者只能替换
语句的部分字段,如SELECT * FROM bugs where name=$P{Name} order by
proname, modulename,而对于$P!{},则可以直接在SQL 脚本框里输入$P!{SQL}。
说明:$P!{SQL} 可以放在任何位置,例如
select B.QC,a.itemno,a.style_no,a.ct_abstr,a.sp_abstr,a.sono,a.fdate1,a.qty,a.needle_type,a.element,a.USER_ID from track_order a
LEFT JOIN TRACK_ORDER2 B ON A.SONO=B.SONO AND A.ITEMNO=B.ITEMNO AND A.SP_ABSTR=B.SP_ABSTR
where 1=1 $P!{cyddgz_quanju}
参数的名称区分大小写,在SQL语句里的参数名必须和定义的参数名相同且大小写的方式也要相同
$P{} 中的P必须为大写,否则报错