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

QQ登录

只需一步,快速开始

查看: 12579|回复: 40

[结贴] action调用存储过程返回集显示为报表

  [复制链接]

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
发表于 2014-2-20 10:54:41 | 显示全部楼层 |阅读模式
用action调用存储过程,接收返回数据,用报表输出,自己摸索着做,不知道哪里错了。
action代码
public static Table returntable(String v1){
                java.sql.Connection conn;
                try{
                        conn = com.justep.model.ModelUtils.getConnection("/report/reptest/data");
                        java.sql.CallableStatement proc = conn.prepareCall("{call test2 (?)}");
                        proc.setString(1, v1);                 
                        proc.execute();
                          ResultSet rt = proc.executeQuery();
                        return  com.justep.system.util.BizUtils.resultSet2Table( rt,"/report/reptest/data");
                }
                catch (NamingException e) {
            // TODO Auto-generated catch block                                
            e.printStackTrace();
            return null;
    } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return null;}
        }

.w文件中调用
staticActivity1.dataModelLoad = function(event){
var options = {};
         var param = new justep.Request.ActionParam();
         var vchar = 'fdsa';
          param.setString('v1',vchar);
         options.parameters = param;
         options.action = "returntable";
         var result = justep.Request.sendBizRequest2(options);

                 justep.xbl('gridReport').refresh();       
控制台报错:
java.sql.SQLException: ORA-00900: 无效 SQL 语句

存储过程执行是肯定没有问题,不知道 是哪里面写的不对。。请教中。




action定义

action定义

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-2-20 11:00:15 | 显示全部楼层
ORA-00900: 无效 SQL 语句

是数据库报的错,不用报表看看存储过程执行是否正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2014-2-20 11:08:56 | 显示全部楼层
jishuang 发表于 2014-2-20 11:00
ORA-00900: 无效 SQL 语句

是数据库报的错,不用报表看看存储过程执行是否正确 ...

存储过程 肯定是可以运行出结果 的。
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-2-20 11:22:17 | 显示全部楼层
chean 发表于 2014-2-20 11:08
存储过程 肯定是可以运行出结果 的。

返回的数据格式默认是xml,你换成json试试
在上面加上这句:dataType: "json"
QQ:179785966
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35942
发表于 2014-2-20 13:36:19 | 显示全部楼层
jishuang 发表于 2014-2-20 11:00
ORA-00900: 无效 SQL 语句

是数据库报的错,不用报表看看存储过程执行是否正确 ...

不用报表,用一个简单的程序调用一下看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2014-2-20 14:29:14 | 显示全部楼层
yinlun 发表于 2014-2-20 11:22
返回的数据格式默认是xml,你换成json试试
在上面加上这句:dataType: "json"

是要加到js中options下吗??另外就算是这样,它为什么 会报oracle错误。?
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-2-20 14:32:14 | 显示全部楼层
本帖最后由 yinlun 于 2014-2-20 14:36 编辑
chean 发表于 2014-2-20 14:29
是要加到js中options下吗??另外就算是这样,它为什么 会报oracle错误。?


是的,把sql语句放在plsql执行是否也报错?
QQ:179785966
回复 支持 反对

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2014-2-20 14:38:21 | 显示全部楼层
yinlun 发表于 2014-2-20 14:32
是的,把sql语句放在plsql执行是否也报错?

存储过程执行肯定是没有问题的。。我要添加options.datatype,.为什么options 加点以后出不来这个参数。??
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-2-20 14:51:11 | 显示全部楼层
chean 发表于 2014-2-20 14:38
存储过程执行肯定是没有问题的。。我要添加options.datatype,.为什么options 加点以后出不来这个参数。? ...

参考:
  1. var actionParam = new justep.Request.ActionParam();
  2.         actionParam.setString('v1',vchar);
  3.         justep.Request
  4.                         .sendBizRequest2({
  5.                                 dataType : "json",
  6.                                 action : "QulityMessegeAction",
  7.                                 parameters : actionParam,
  8.                                 callback : function(result) {
  9.                                         if (result.state) {

  10.             justep.xbl("dataMain").loadJson(result.response);

  11.         } else {

  12.             throw new Error("调用失败!|" + result.response.message);

  13.         }

  14.     }

  15. });
复制代码
QQ:179785966
回复 支持 反对

使用道具 举报

57

主题

375

帖子

1515

积分

金牌会员

Rank: 6Rank: 6

积分
1515
QQ
 楼主| 发表于 2014-2-20 15:24:37 | 显示全部楼层
yinlun 发表于 2014-2-20 14:51
参考:

照你的方法还是不行,页面报错:Object [object Object] has no method 'loadJson'详细;;;;
控制台还是ORA-00900: 无效 SQL 语句
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 21:28 , Processed in 0.068449 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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