|
为了按实现根据日期过滤报表,希望实现带参数的视图,查了下oracle可以采用包或者存储过程插入数据到临时表。于是创建临时表采用的on commit oreserve rows;会话级的临时表M_TES。
将存错过程create_temp_zlystj调用写入action 代码如下。
public static void GenerateJFTJB(java.sql.Date begintime,java.sql.Date endtime)throws SQLException {
java.sql.Connection conn=null;
try {
conn = com.justep.model.ModelUtils.getConnection(ModelUtils.getModel("/KCIS/IPR/data"));
java.sql.CallableStatement proc = conn
.prepareCall("{call create_temp_zlystj(?,?) }");
proc.setDate(1, begintime);
proc.setDate(2, endtime);
proc.execute();
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
报表通过另一个action执行
select M_TEST.fFMLX as fFMLX,M_TEST.fJHJFJE as fJHJFJE,M_TEST.fSJJFJE as fSJJFJE from M_TEST M_TEST
查找显示交叉报表发现执行后,临时表无数据,猜测可能是不同的action会造成不同的会话。
如何解决这个问题。另外如果采用orcale 包的方式解决传参数的数据怎么写。
|
|