请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

guoqp

高级会员

198

主题

761

帖子

1859

积分

高级会员

积分
1859

时代开发者征文活动

guoqp
高级会员   /  发表于:2022-9-30 16:05  /   查看:1298  /  回复:8
本来是一上简单的需求,使用SQL命令返回一个求和之后的值,但实现起来好像特别费劲


以上服务器命令的截图
以下中页面中命令截图与发布后报错截图,注意直接在服务器命令测试中我输入参数值不会报错

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

8 个回复

倒序浏览
tisking悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-10-9 13:19:56
推荐
报错,因为你没有给他保护一下。单独的执行sql要么返回数据要么就null没啥问题,但是你下面用了一个循环,这里循环体变量sql就一定要确保不能为null,查出来是null它必然给你报个错,所以要想不报错,你需要在循环上一步加一个判断保护一下 IF sql<>%null% 然后执行下面过程语句就好了.  在用这个执行命令时候我也挺呐闷的,这个变量参数怎么就是没听见哪个大佬说要保护一下呢?不保护直接放进循环体肯定有问题


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
guoqp
高级会员   /  发表于:2022-9-30 16:07:19
沙发
SQL返回唯一值为啥就不能直接取值呢
而且活字格查询为啥就不能允许使用SELECT的group by功能呢,这是不是有点不科学啊
回复 使用道具 举报
Erik.Xue讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2022-9-30 17:27:45
板凳
大佬,没懂你的具体需求是?为什么要用执行SQL命令sum?或者写存储过程从数据库直接返回数组值然后再循环。
回复 使用道具 举报
guoqp
高级会员   /  发表于:2022-9-30 18:02:04
地板
本帖最后由 guoqp 于 2022-9-30 18:03 编辑
Erik.Xue 发表于 2022-9-30 17:27
大佬,没懂你的具体需求是?为什么要用执行SQL命令sum?或者写存储过程从数据库直接返回数组值然后再循环。

我尝试使用存储过程,不管是服务器还是客户端使用存储过程,都会造成一个如下问题

选中一行表格数据后,带出相关值到表格控件中,比如日期控件,组合框控件,如果这时我在这些控件中的命令中使用了存储过程来获取求和值(如选择某一天后我要取得当天本人报过的所有工时总和),只要用过存储过程,则该控件值不可改变,比如带出来的值是2022-9-22,但我想改为2022-9-27,你会发现你改了日期马上给你改回去(注意不是在表格中改,是表格以外的带有存储过程的控件中改),不管使用服务器还是客户端存储过程都会如此,我反复测试过都有这个问题

为了避免这个问题,我不得不直接使用SQL语句,但使用SQL语句就遇到上边的问题

后来我又尝试使用ODATA外套SUM,这个倒是成功了,但上边所述的2个问题依旧存在
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-10-7 13:11:44
5#
能不能先想办法复现一下问题呢?
回复 使用道具 举报
guoqp
高级会员   /  发表于:2022-10-7 14:53:20
6#
David.Zhong 发表于 2022-10-7 13:11
能不能先想办法复现一下问题呢?

是版本bug,最新预览版说解决了这个问题,就是存储过程刷新那个问题
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-10-7 22:30:55
7#
哦哦,好的~修复了那我就不管了哈~
回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:2022-10-9 16:43:50
9#
guoqp 发表于 2022-9-30 16:07
SQL返回唯一值为啥就不能直接取值呢
而且活字格查询为啥就不能允许使用SELECT的group by功能呢,这是不是有 ...

大佬您好,目前确实是这样,执行 SQL 命令的返回结果是数组,即使只查询到了一条数据。
您这边的 SQL 是至少会查到一条数据的,所以不存在查询返回空数组的情况,也就是说循环应该一定是会走的。
我这边按照你的截图测试了下,没有复现你说的情况。我这边外联库使用的是 MySQL,不管是直接测试服务端命令,还是在前端调试,还是发布后的服务都没有复现你说的情况。
可以的话方便发个能复现问题 demo 吗,这边在 demo 上继续调查一下。
因为你使用的是外联库,这边要在外联库上调查的话,还需要知道你的外联库版本,和对应表的建表语句。


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部