首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

birt动态SQL,真正做出来的进解决方法

2012-02-09 
birt动态SQL,真正做出来的进birt 的SQL 拼装。比如说 select id,name,age from aa2个参数id是必须输入的 na

birt动态SQL,真正做出来的进
birt 的SQL 拼装。比如说 select id,name,age from aa

2个参数 id是必须输入的 name可选添 默认是全选

我在SQL中写 select id ,name,age from aa where id=? and name like replace(?,'全选','%%')
提示错误 NULL 传参传不进去。
网上查说可以动态SQL 但是说的都不是很清楚 在SCRIPT 或是 beforeopen 里写 或者是在data set中 property binding 中设置也不行 现在想问 到底要怎么拼装 能不能说的详细点 或是留下联系方式 发EMAIL 都可以
我的EMAIL lin_0711@qq.com

[解决办法]
脚本写在beforeOpen里边,也就是在beforeOpen里边拼写你的SQL语句,类似于这样
// 这里用于接收你的报表参数
var p_id=params["id"].value;
var p_name=params["name"].value;
//这里用于拼写你的SQL语句
this.queryText =" select ";
this.queryText +=" id ,name,age from aa where 1=1";
this.queryText +=" id = '"+p_id+"'";

//依照你说的name是非必填项,所以判断非空时才取值
if(p_name!=""){
this.queryText +=" name = '"+p_name+"'";
}

上面说的不知道楼主明白了没有,有问题可以继续提出来,其实Birt挺简单的,多看些资料基本都可以入门了。


[解决办法]
楼上已给出了答案,在beforeOpen事件中动态拼SQL即可,在这里帮顶一下。

热点排行