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

QQ登录

只需一步,快速开始

查看: 1662|回复: 8

[处理中6] 对自定义主键的概念order by 主键报错

[复制链接]

185

主题

777

帖子

1644

积分

金牌会员

Rank: 6Rank: 6

积分
1644
QQ
发表于 2014-10-20 10:52:06 | 显示全部楼层 |阅读模式
概念的主键是自定义的,如:主键A,在data数据源中设置属性order by为A 后,查询报错,控制台信息如下:
  1. com.justep.model.exception.ModelException: java.lang.reflect.InvocationTargetException
  2.         at com.justep.system.action.Engine.invokeActions(Unknown Source)
  3.         at com.justep.business.server.BusinessServer.doAction(Unknown Source)
  4.         at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
  5.         at com.justep.business.server.BusinessServer.excute(Unknown Source)
  6.         at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
  7.         at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
  8.         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  9.         at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
  10.         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  11.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  12.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  13.         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  14.         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  15.         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  16.         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  17.         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  18.         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
  19.         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
  20.         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
  21.         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
  22.         at java.lang.Thread.run(Thread.java:619)
  23. Caused by: java.lang.reflect.InvocationTargetException
  24.         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  25.         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  26.         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  27.         at java.lang.reflect.Method.invoke(Method.java:597)
  28.         at com.justep.system.action.Engine.invokeActions(Native Method)
  29.         ... 21 more
  30. Caused by: com.justep.model.exception.ModelException: 执行ksql:SELECT TC_DriverAllSarlary.*  FROM TC_DriverAllSarlary TC_DriverAllSarlary ORDER BY DriverCode ASC LIMIT 0, 20时出错!
  31.         at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
  32.         at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
  33.         at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
  34.         at com.justep.system.data.BizData.query(Unknown Source)
  35.         at BizProcedure.query(BizProcedure.java:12)
  36.         ... 26 more
  37. Caused by: com.justep.model.exception.ModelException: 执行sql:SELECT  TC_DriverAllSarlary.DRIVERCODE AS DriverCode, TC_DriverAllSarlary.DRIVERNAME AS DriverName, TC_DriverAllSarlary.COUNTMONTH AS CountMonth, TC_DriverAllSarlary.CARGROUP AS CarGroup, TC_DriverAllSarlary.WORKDAY AS WorkDay, TC_DriverAllSarlary.BASICWAGESPAYABLE AS BasicWagesPayable, TC_DriverAllSarlary.PERFORMANCEAWARD AS PerformanceAward, TC_DriverAllSarlary.NETPAY AS NetPay, TC_DriverAllSarlary.REMARK AS Remark, TC_DriverAllSarlary.DRIVERCODE, TC_DriverAllSarlary.COUNTMONTH FROM TC_DriverAllSarlary TC_DriverAllSarlary  ORDER BY DriverCode ASC, binds:[]出错!
  38.         at com.justep.system.ksql.KSQLUtils.execSqlSelect(Unknown Source)
  39.         ... 31 more
  40. Caused by: java.sql.SQLException: 列名 'DriverCode' 不明确。
  41.         at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
  42.         at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
  43.         at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
  44.         at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:628)
  45.         at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:418)
  46.         at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:693)
  47.         at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
  48.         at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
  49.         ... 32 more
复制代码



天天就知道打酱油打酱油,有点出息行么。QQ:497923435
发表于 2014-10-20 10:55:38 | 显示全部楼层
改成概念别名.字段格式的试试呢
ORDER BY 概念别名.DriverCode

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2014-10-20 10:55:54 | 显示全部楼层
本帖最后由 忘了忘了 于 2014-10-20 10:57 编辑

Caused by: java.sql.SQLException: 列名 'DriverCode' 不明确。这个不是提示的很清楚了么
如果是关联查询的两个概念中的关系名是一样的,需要自己select中 as 一个别名,不要让两个关系的别名一样,使用的时候用不一样的别名

评分

参与人数 1 +3 收起 理由
jishuang + 3 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

185

主题

777

帖子

1644

积分

金牌会员

Rank: 6Rank: 6

积分
1644
QQ
 楼主| 发表于 2014-10-20 11:02:14 | 显示全部楼层
lanware_smf 发表于 2014-10-20 10:55
改成概念别名.字段格式的试试呢
ORDER BY 概念别名.DriverCode

按照你的方法可以了,就是不知道为什么SQL中查询的字段中为什么会列出两个driverCode字段
天天就知道打酱油打酱油,有点出息行么。QQ:497923435
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2014-10-20 11:47:19 | 显示全部楼层
正确的SQL中查询的字段中会列出两个driverCode字段吗?
ksql中只有一个?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

185

主题

777

帖子

1644

积分

金牌会员

Rank: 6Rank: 6

积分
1644
QQ
 楼主| 发表于 2014-10-21 11:34:23 | 显示全部楼层
jishuang 发表于 2014-10-20 11:47
正确的SQL中查询的字段中会列出两个driverCode字段吗?
ksql中只有一个?

会啊
天天就知道打酱油打酱油,有点出息行么。QQ:497923435
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2014-10-21 13:34:15 | 显示全部楼层
什么会啊?
ksql中只有一个,SQL中就要两个?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

185

主题

777

帖子

1644

积分

金牌会员

Rank: 6Rank: 6

积分
1644
QQ
 楼主| 发表于 2014-10-21 15:10:00 | 显示全部楼层
jishuang 发表于 2014-10-21 13:34
什么会啊?
ksql中只有一个,SQL中就要两个?

是这样的,我这里在data组件的order by属性上选择对自定义的主键DriverCode进行排序,然后用平台的查询组件时候就查询报错,报错的SQL在上面已列出,原因是KSQL中select出的列有两个driverCode然后排序的时候不是用的概念名.DriverCode方式。所以就会报错,现在就是不明白为什么会select出两个driverCode字段
QQ截图20141021150539.png
天天就知道打酱油打酱油,有点出息行么。QQ:497923435
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2014-10-21 16:12:53 | 显示全部楼层
你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 15:56 , Processed in 0.074925 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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