起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5781|回复: 13

[结贴] 带参数的视图或执行存储过程后显示临时表如何实现

[复制链接]

2

主题

13

帖子

612

积分

高级会员

Rank: 4

积分
612
发表于 2019-5-9 16:38:49 | 显示全部楼层 |阅读模式
为了按实现根据日期过滤报表,希望实现带参数的视图,查了下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 包的方式解决传参数的数据怎么写。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2019-5-9 17:08:53 | 显示全部楼层
1.自己确认数据是不是存到数据库中了,平台只是发请求去数据库查不会做其他的操作
2.标准的java中怎么事实现的,action的java代码中用sql同样的实现
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

2

主题

13

帖子

612

积分

高级会员

Rank: 4

积分
612
 楼主| 发表于 2019-5-9 17:12:05 | 显示全部楼层
临时表在会话结束后会清空已经测试过了不采用临时表是可以取到数据的,会话级临时表必须在同一会话才行,我现在提的问题是如果保证查询跟我执行存过在一个会话。还有如果采用orcale 包传参数给 视图如何在x5中调用。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2019-5-9 17:16:39 | 显示全部楼层
1.同一个请求发的就是一个会话中
2.跟标准java中一样的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

2

主题

13

帖子

612

积分

高级会员

Rank: 4

积分
612
 楼主| 发表于 2019-5-9 17:22:30 | 显示全部楼层
现在明显是调用存过跟,向导做的交叉报表里调用的actionl 不是一个会话造成显示不出数据,请问怎么解决
回复 支持 反对

使用道具 举报

2

主题

13

帖子

612

积分

高级会员

Rank: 4

积分
612
 楼主| 发表于 2019-5-9 17:30:55 | 显示全部楼层
目前还处于用到哪学到哪的程度,请老师写个例子指导下
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2019-5-9 17:33:17 | 显示全部楼层
你在同一个action去调用存储过程和查询啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

2

主题

13

帖子

612

积分

高级会员

Rank: 4

积分
612
 楼主| 发表于 2019-5-10 08:38:05 | 显示全部楼层
原理知道不会写,交叉报表用的reportData控件source调用的action 具体action里怎么把调用存过跟执行查询结合起来,怎么写。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2019-5-10 09:22:17 | 显示全部楼层
你先执行调用存储过程的代码,然后在执行查询啊

这个java方法中可以进行多个操作
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

2

主题

13

帖子

612

积分

高级会员

Rank: 4

积分
612
 楼主| 发表于 2019-5-10 10:42:27 | 显示全部楼层
reportData控件source调用的action ,action 上面的sql 是直接写在参数列表里的ksql 里面,查询怎么才能写在代码里 传给reportData
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-28 09:28 , Processed in 0.063023 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表