首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

birt动态sql 传送参数

2012-07-20 
birt动态sql 传递参数Birt参数在IN中的传递我们在用Birt做报表开发时,有时需要给In传递参数,此时我们就不

birt动态sql 传递参数
Birt参数在IN中的传递
我们在用Birt做报表开发时,有时需要给In传递参数,此时我们就不能用普通的参数传递方法,而需要做一定的处理。如有下面的SQL
select s.id,s.stu_code,s.subject_code,sub.subject_name,s.score
from score s,subject sub
where s.subject_code = sub.subject_code
and s.stu_code in ('200232027601','200232027602')
and s.subject_code in (100001,100002)
需要把stu_code 和subject_code 作为参数从外面(页面)传递进来。其方法有:
第一种方法:
数据源的建立就省略了。重点是我们在建立数据集时直接在"Property Binding"中进行SQL拼装,即为:
this.queryText = "select s.id,s.stu_code,s.subject_code,sub.subject_name,s.score from score s,subject sub"+
" where s.subject_code = sub.subject_code and s.stu_code in (" + params["stu_code"].value +
") and s.subject_code in ( "+params["subject_code"].value+ ")" ,如下图:
Birt参数IN中数据集.jpg

其中参数stu_code,subject_code和以前一样的建法。最后我们在浏览输入参数时如下图:
Birt参数结果.jpg

第二种方法,其实与第一种是大同小异,总体思路就是拼SQL,


最后只需要对SQL进行拼装,点中相应的DataSet,在Script中写相应的脚本,如:this.queryText = this.queryText + " ("+ params["stu_code"].value +")" + " and s.subject_code in ("+params["subject_code"].value + ")",预览与上面的一样,就不重复了,到此,在In中传递参数就结束了。希望对大家有所帮助。

热点排行