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

QQ登录

只需一步,快速开始

查看: 4759|回复: 11

[结贴] action计算列 报错

[复制链接]

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
发表于 2017-8-3 08:05:48 | 显示全部楼层 |阅读模式
本帖最后由 q2045377 于 2017-8-3 08:12 编辑

,,按照 bass/justep/demo.service.m  写的一个计算列 , 在bassData组件中也设置了这个计算列time,查询语句在mysql里测试是正确的,也引用了action:common/CRUD/sqlQuery
但是报错了,,,,,第一次写这个,,不知道哪里错了,,请问下   ,,time是如果news对应的id没有评论就等于自己的createTime,如果有就去comment中的最大值

SELECT  news.id ,news.userId,news.titile,news.description,news.video,news.createTime ,news.schoolId,news.image1,news.image2,news.image3,news.image4,      news.image5,news.image6,news.image7,news.image8,news.image9,news.image,

        CASE WHEN MAX(comment.createTime) IS NOT NULL
             THEN MAX(comment.createTime)
             ELSE news.createtime
        END AS time
FROM    news
        LEFT JOIN comment ON comment.fId = news.id
GROUP BY
news.id ,news.userId,news.titile,news.description,news.video,news.createTime ,news.schoolId,news.image1,news.image2,news.image3,news.image4,
        news.image5,news.image6,news.image7,news.image8,news.image9,news.image




微信截图_20170803075500.png
微信截图_20170803075727.png
微信截图_20170803075802.png
发表于 2017-8-3 11:28:49 | 显示全部楼层
bass/justep/demo.service.m  写的一个计算列
计算列只是前端页面中进行计算显示的!并不需要修改baasServer 啊!
计算列不会进行数据交互的!

baasData组件中的 字段,必须和 后台查询字段一样的!

如果想给计算列赋值!
应该通过设置计算规则
http://docs.wex5.com/wex5-ui-question-list-2178
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-8-3 13:42:05 | 显示全部楼层
本帖最后由 q2045377 于 2017-8-3 13:45 编辑
liangyongfei 发表于 2017-8-3 11:28
bass/justep/demo.service.m  写的一个计算列
计算列只是前端页面中进行计算显示的!并不需要修改baasServe ...

您误会我意思了,,,我这个是俩个表关联查询   ,,就像bass/justep/demo.service.m,,的语句 SELECT u.fID, u.fName,
                        u.fPhoneNumber, u.fAddress, COUNT(ord.fID) AS orderCount FROM
                        takeout_user u LEFT JOIN takeout_order ord ON u.fID = ord.fUserID
                        WHERE (0=:useSearch) or (u.fID LIKE :search OR u.fName LIKE :search
                        OR u.fPhoneNumber LIKE :search OR u.fAddress LIKE :search) GROUP BY
                        u.fID, u.fName, u.fPhoneNumber, u.fAddress

不就是查询 orderCount  并在前端bassData组件的计算列中赋值这个字段吗

难道不是这个方法还是我理解错了,,,,,,下图的orderCount不就是bass查询出来显示的吗,,求解,,,

我上面的语句没错哈,,也是在sql属性中写的,,前端bassData也增加了这计算力,,为嘛报错了,,,求问哪个地方做得不对
微信截图_20170803134053.png
回复 支持 反对

使用道具 举报

发表于 2017-8-3 15:14:16 | 显示全部楼层
q2045377 发表于 2017-8-3 13:42
您误会我意思了,,,我这个是俩个表关联查询   ,,就像bass/justep/demo.service.m,,的语句 SELECT u. ...

如果字段 orderCount 是后端查询出来的!就可以不用设置为计算列!
计算列一般只在前端使用!不进行后台数据交互的!


500错误需要看后台tomcat控制台的报错信息!

提示信息是sql执行错误!看下打印的错误信息!执行什么sql语句报错的?
将这个sql语句复制到数据库管理工具中调试找下原因!可能是什么原因?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-8-3 21:08:49 | 显示全部楼层
本帖最后由 q2045377 于 2017-8-3 21:21 编辑
liangyongfei 发表于 2017-8-3 15:14
如果字段 orderCount 是后端查询出来的!就可以不用设置为计算列!
计算列一般只在前端使用!不进行后台 ...

报错代码,,自己在mysql工具中能查出,,,demo/bass/complexData   例子正常
微信截图_20170803210623.png
回复 支持 反对

使用道具 举报

发表于 2017-8-4 10:05:00 | 显示全部楼层
q2045377 发表于 2017-8-3 21:08
报错代码,,自己在mysql工具中能查出,,,demo/bass/complexData   例子正常

sql语句先写简单一些!执行试试!先跑通了,再慢慢增加复杂度

我觉得有可能是sql语句中,一些sql函数的使用有问题!

你最好一点点,由易入难的写sql测试!参数也先写死
看下是哪儿影响的?排除下原因!

不行的话!建议使用自定义action  ,通过java代码jdbc执行sql 实现试试吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-8-4 14:20:10 | 显示全部楼层
liangyongfei 发表于 2017-8-4 10:05
sql语句先写简单一些!执行试试!先跑通了,再慢慢增加复杂度

我觉得有可能是sql语句中,一些sql函数的 ...

这个情况是什么原因呢,,看不懂报错信息,,找不到原因
微信截图_20170804141658.png
回复 支持 反对

使用道具 举报

发表于 2017-8-4 15:33:15 | 显示全部楼层
q2045377 发表于 2017-8-4 14:20
这个情况是什么原因呢,,看不懂报错信息,,找不到原因

500 错误需要看tomcat的完整报错信息!

是不是文件编译就有问题呢??w文件模型编译试试正常吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-8-5 08:56:27 | 显示全部楼层
liangyongfei 发表于 2017-8-4 10:05
sql语句先写简单一些!执行试试!先跑通了,再慢慢增加复杂度

我觉得有可能是sql语句中,一些sql函数的 ...

不是sql问题    这边已经完全模仿了demo那个例子,,,只是把表的名字换了

SELECT  u.id ,u.userId,u.titile,u.description,u.video,u.createTime ,u.schoolId,u.image1,u.image2,u.image3,u.image4,      u.image5,u.image6,u.image7,u.image8,u.image9,u.image, COUNT(ord.fID) AS time FROM
                        news u LEFT JOIN comment ord ON u.id = ord.fId
                        GROUP BY
                        u.id ,u.userId,u.titile,u.description,u.video,u.createTime ,u.schoolId,u.image1,u.image2,u.image3,u.image4,      u.image5,u.image6,u.image7,u.image8,u.image9,u.image

还是上面那个报错,,实在弄不通哈
回复 支持 反对

使用道具 举报

88

主题

464

帖子

763

积分

高级会员

Rank: 4

积分
763
QQ
 楼主| 发表于 2017-8-5 14:20:07 | 显示全部楼层
不好意思      countsql没写  以为不用写的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-9 13:50 , Processed in 0.057847 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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