专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 报表

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

发布时间:2010-06-13 14:07:51 文章来源:www.iduyao.cn 采编人员:星星草
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即可,在这里帮顶一下。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: