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

QQ登录

只需一步,快速开始

查看: 4316|回复: 8

[结贴] 自定义查询组织出现

[复制链接]

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
发表于 2017-11-1 15:07:23 | 显示全部楼层 |阅读模式
自己写的 代码,查询组织时
Table table=KSQL.select("select a.*,a.sID as SA_OPOrg  from SA_OPOrg a where a.sValidState=1 and a.sParent is null", null, "/system/data", null);
                        Iterator<Row> rows = table.iterator();
            int i=0;
            while(rows.hasNext()) {
                    i++;
                Row row = rows.next();
                Org org = OrgHelper.getOrgByRow(row);  //出现问题
                System.out.println(org.getName()+"-------"+i);   
            }

出现:

com.justep.exception.BusinessException: 编码: JUSTEP150137; 提示: 列"SA_OPOrg"不存在
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.util.Utils.check(Unknown Source)
        at com.justep.system.data.impl.RowImpl.check(Unknown Source)
        at com.justep.system.data.impl.RowImpl.getString(Unknown Source)
        at com.justep.system.opm.api.OrgHelper.getOrgByRow(Unknown Source)
        at OPM.querySelfOrg(OPM.java:56)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2017-11-1 16:03:08 | 显示全部楼层
a.sID as SA_OPOrg去掉
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2017-11-1 16:07:57 | 显示全部楼层
对不起,发错了,我的整个是这样的,

Table table=KSQL.select("select a.*   from SA_OPOrg a where a.sValidState=1 and a.sParent is null", null, "/system/data", null);
Iterator<Row> rows = table.iterator();
出现了下面的错误。
com.justep.exception.BusinessException: 编码: JUSTEP150137; 提示: 列"SA_OPOrg"不存在

之后我修改成 select a.*,a.sID as SA_OPOrg  from SA_OPOrg a where a.sValidState=1 and a.sParent is null", null, "/system/data", null);
也不行
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2017-11-1 16:21:34 | 显示全部楼层
这个语句没问题,本地直接拷贝你的Table table=KSQL.select("select a.*   from SA_OPOrg a where a.sValidState=1 and a.sParent is null", null, "/system/data", null);测试没问题
确认OPM.querySelfOrg(OPM.java:56)这个报错是执行ksql报错的吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2017-11-1 17:53:06 | 显示全部楼层
恩,绝对是执行ksql出的问题,我现在是通过返回的Table对象,对字符串进行了解析。您在帮我看看,那个为什么不对吧?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2017-11-2 08:49:33 | 显示全部楼层
现在是通过返回的Table对象,对字符串进行了解析了什么意思?sql执行都错误了,Table怎么返回的?
确认system下SA_OPOrg自己修改过吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2017-11-2 09:24:49 | 显示全部楼层
现在是直接返回的table

public static Table querySelfOrg(){
                try{
                        Table table=KSQL.select("select a.*  from SA_OPOrg a where a.sValidState=1 and a.sParent is null", null, "/system/data", null);
                        /*
                        Iterator<Row> rows = table.iterator();
            int i=0;
            while(rows.hasNext()) {
                    i++;
                Row row = rows.next();
                Org org = OrgHelper.getOrgByRow(row);  //出现问题
                System.out.println(org.getName()+"-------"+i);   
            }*/
            return table;
                }catch(Exception e){
                        e.printStackTrace();
                        throw new RuntimeException("查询组织抛出异常");
                }
               
        }

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2017-11-2 10:07:54 | 显示全部楼层
那上面的错误肯定不是执行sql错的,如果是sql执行错的table也不能返回
错误应该是遍历里面的错误的
把a改为SA_OPOrg
应该是OrgHelper.getOrgByRow方法中要用的是SA_OPOrg,你定位为a就找不到SA_OPOrg了
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

157

主题

600

帖子

937

积分

高级会员

Rank: 4

积分
937
QQ
 楼主| 发表于 2017-11-2 16:18:19 | 显示全部楼层
正如楼主说的,修改成Table table=KSQL.select("select SA_OPOrg.*  from SA_OPOrg SA_OPOrg where SA_OPOrg.sValidState=1 and SA_OPOrg.sParent is null", null, "/system/data", null);

把a改成SA_OPOrg,即可,谢谢楼主了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-17 05:27 , Processed in 0.063070 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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