我在iReport Value_DT中创建了一个带有日期数据类型的参数。
如果我使用表达式“new java.util.Date(”01-SEP-14“)作为默认值,它可以正常工作,但这是硬代码。
我想使用Oracle DB中的用户定义函数,即它可能类似于“new java.util.Date(new java.util.Date($ F {GETACCOUNTINGDATE}))”,其中GETACCOUNTINGDATE是oracle函数。
使用这样的语法我有一个错误“构造函数日期(时间戳)未定义”。
为了在默认参数中使用DB中的功能,应该更改什么?
答案 0 :(得分:0)
我不确定如何在没有编写自定义代码的情况下直接在默认值表达式中执行此操作。我相信您需要使用静态方法编写自定义类,该方法连接到您的数据库,调用GETACCOUNTINGDATE
并返回日期。然后,您可以将其作为JAR捆绑,将其放在类路径中,并在默认值表达式中调用此方法。
虽然这是相当多的工作,所以您也可以重新创建'使用Java日期函数库的日期。
我们已经使用了apache dateUtils:
org.apache.commons.lang.time.DateUtils.addMonths(new Date(),0))
我知道一位同事使用jchronic来使用字符串并创建日期。