【问题标题】:Birt report parameter passingBirt 报告参数传递
【发布时间】:2013-09-21 05:05:43
【问题描述】:

您好,我必须将参数传递给报告...带有 concat-date ....但它显示错误... 像这样...在列表框中有 2011-2012,2012-2013...这是我的 oracle 查询

DATE FOMART IN DATABASE:25-Mar-2012 

oracle query
select tran_date,
ROUND (nvl(sum(WALKIN_WITHOUT_CGROUP),0)/ COUNT(*),2)APC
from OUTLET_PAYMODE_REPORT_FACT 

Before Open:
var sqld= new String();
yearParam = params["Year"].value;
yearParam = yearParam.split("-");
startYear = yearParam[0];
endYear = yearParam[1];

this.queryText =this.queryText +" where TRAN_DATE between '" + startYear + "01-Mar-' and '" + endYear + "30-Mar-'"+
"group by tran_date"

但是遇到这样的错误.....

 org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a ResultSet object.
SQL error #1:ORA-01861: literal does not match format string

【问题讨论】:

    标签: oracle birt


    【解决方案1】:

    我想,你的sql字符串应该是

    " where TRAN_DATE between '01-Mar-" + startYear + 
                       "' and '30-Mar-" + endYear + "' " + 
    "group by tran_date"
    

    【讨论】:

    • 现在我使用你的代码运行但给出了这样的错误... java.sql.SQLException: ORA-01841: (full) year must be between -4713 and +9999, and not be 0
    • @user2746120,您能否检查一下您在拆分代码中是否正确设置了 startYear 和 endYear 的值?看起来它们的设置不正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多