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

QQ登录

只需一步,快速开始

查看: 3168|回复: 8

[处理中5] SQL.select 无法对mysql的字段进行别名操作

[复制链接]

25

主题

75

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
QQ
发表于 2016-3-9 22:17:29 | 显示全部楼层 |阅读模式
版本: BeX5V3.1 小版本号: 3.3
数据库: MS SQLServer 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
使用SQL.select 对字段进行别名的时候会报错,提示找不到该字段。例:SELECT wm003.r2OgnName AS r2OgnName,wm003.fID AS fID2 FROM wm003 会报找不到fID


91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36095
发表于 2016-3-10 10:17:06 | 显示全部楼层
确认是KSQL还是SQL

SQL就是直接找的数据库中的字段,把的是fID找不到,不是别名找不到,确认数据库中是否有fID这列

如果用的是KSQL是找的概念和定义的关系,平台默认的在概念中是没有fID这个关系的,如果要获取主键值就直接用的是概念别名
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

25

主题

75

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
QQ
 楼主| 发表于 2016-3-10 20:34:40 | 显示全部楼层
jishuang 发表于 2016-3-10 10:17
确认是KSQL还是SQL

SQL就是直接找的数据库中的字段,把的是fID找不到,不是别名找不到,确认数据库中是否 ...

KSQL支持别名功能,KSQL的主键列名字是叫概念名称,这个知道。我是用SQL.select()这个函数,还是用KSQL.select()这个函数。
SQL.select("select  b as b") 不会报错,SQL.select("select b as c") 会报找不到b这个列
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36095
发表于 2016-3-11 09:44:25 | 显示全部楼层
可以把sql语句到数据库中执行看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

25

主题

75

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
QQ
 楼主| 发表于 2016-3-11 10:12:31 | 显示全部楼层
jishuang 发表于 2016-3-11 09:44
可以把sql语句到数据库中执行看看

mysql语句在数据库中执行都正常。
我今天又去做了下实验,使用x5自带的demo/report/process/simple/gridactivity.w 这个页面,修改biz的 mysql语句 “"SELECT RPRODUCTID, RPRODUCTNAME, 。。。。” 改为 ""SELECT RPRODUCTID  AS PID,  RPRODUCTNAME,。。。"   运行sql.select()函数,就会报 "Caused by: java.sql.SQLException: Column 'rProductID' not found."  你做一下实验就知道了,不是在开玩笑的。同样的语句拿到mysql数据库工具上面运行,一切正常。虽然我的积分不高,只是我比较低调,很少发言,我真不是菜鸟。KSQL没有任何问题,只是使用SQL.selecet()函数才会有问题,KSQL函数没有问题,只是使用SQL.selecet()函数才会有问题。如果SQL.select()在这种情况下"select a ,b,(select c form d) as f "这种情况下的as也是正常的没有问题.
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36095
发表于 2016-3-11 17:14:48 | 显示全部楼层
你好楼主,您反馈的这个现象通过验证是产品缺陷,我们已提交到产品组(内部编号:2016031100025),感谢楼主的支持与配合。
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

25

主题

75

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
QQ
 楼主| 发表于 2016-3-12 10:27:53 | 显示全部楼层
jishuang 发表于 2016-3-11 17:14
你好楼主,您反馈的这个现象通过验证是产品缺陷,我们已提交到产品组(内部编号:2016031100025),感谢楼主 ...

好的,这个缺陷发现的非常不容易,我花了整整两天时间,才敢在论坛上面发表,我原先以为是我使用方法上出了问题,然后我就一个一个排查,最终才发现了是as 这个地方出问题了。最终确定是产品缺陷后,我才敢在论坛上面发表,因为我怕如果不是产品缺陷的话,我发表了,那样会浪费你们时间来看的。你们时间很宝贵,是要把时间花在更有价值的事情上面。。。。说了这么多,其实我是想问下。。。。发现缺陷,能不能送点积分奖励一下啊。。。。。。
回复 支持 反对

使用道具 举报

25

主题

75

帖子

372

积分

中级会员

Rank: 3Rank: 3

积分
372
QQ
 楼主| 发表于 2016-3-14 18:17:30 | 显示全部楼层
jishuang 发表于 2016-3-11 17:14
你好楼主,您反馈的这个现象通过验证是产品缺陷,我们已提交到产品组(内部编号:2016031100025),感谢楼主 ...

有没有临时的解决方法可以用?
回复 支持 反对

使用道具 举报

114

主题

479

帖子

1356

积分

金牌会员

Rank: 6Rank: 6

积分
1356
QQ
发表于 2016-3-14 18:17:54 | 显示全部楼层
jishuang 发表于 2016-3-11 17:14
你好楼主,您反馈的这个现象通过验证是产品缺陷,我们已提交到产品组(内部编号:2016031100025),感谢楼主 ...

我也碰到这个问题。。。。 现在能用其他方法替代吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-5 22:54 , Processed in 0.057076 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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