找回密码
 立即注册

QQ登录

只需一步,快速开始

xhbigy

初级会员

36

主题

132

帖子

366

积分

初级会员

积分
366
xhbigy
初级会员   /  发表于:2023-10-7 16:42  /   查看:2533  /  回复:7
1金币
数据集选取的是存储过程,里面有一个参数为单位,参数设置如下
如何实现对单位这个字段的多选,单位这个字段我也单独做了数据集,做成了下拉框
目前的预览界面无论选什么都是空的数据,但我存储过程是可以执行出来

image.png731744079.png

最佳答案

查看完整内容

您的存储过程参数使用英文逗号隔开的,您下面的多值参数拼接的分隔符也是英文逗号,和您存储过程的参数列表都不一样了, 您把您的join处理的参数结果用 单引号括起来试试。

7 个回复

倒序浏览
最佳答案
最佳答案
Eden.SunWyn认证
超级版主   /  发表于:2023-10-7 16:42:31
来自 4#
您的存储过程参数使用英文逗号隔开的,您下面的多值参数拼接的分隔符也是英文逗号,和您存储过程的参数列表都不一样了,
image.png855222167.png



您把您的join处理的参数结果用 单引号括起来试试。
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2023-10-7 17:11:29
2#
问题描述:

参数多选,但是在存储过程调用时,将选中的多个参数拼接成单个参数进行传递。

问题解决:
您的这个场景,在报表参数这里不做处理,正常绑定数据就行,
image.png713133239.png


在调用存储过程的时候,在通过join处理就行:call sp_test_mutil_param3('{Join(@报表参数1, ",")}')
image.png992205200.png


需要注意的就是 join 表达式外民的单引号,这个需要手动写,您参考我上面的表达式。

回复 使用道具 举报
YSLSX活字格认证
中级会员   /  发表于:2023-10-7 17:16:45
3#
image.png936100768.png

我是这么用的,直接写调用存储过程的语句,然后下面多值的参数外面套个JOIN函数,你可以试试。
回复 使用道具 举报
xhbigy
初级会员   /  发表于:2023-10-8 09:31:47
5#
Eden.Sun 发表于 2023-10-7 17:11
问题描述:

参数多选,但是在存储过程调用时,将选中的多个参数拼接成单个参数进行传递。

我参照了写了,但是预览的时候报错
image.png200247496.png image.png353575438.png
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2023-10-8 11:41:32
6#
xhbigy 发表于 2023-10-8 09:31
我参照了写了,但是预览的时候报错

这样吧,您把系统的日志级别调整一下,
image.png128976439.png

然后在日志里面根据最终的SQL语句来调整一下,存储过程没问题的话,只能可能是最终生成的sql问题了:
image.png583068847.png

image.png840055541.png

回复 使用道具 举报
xhbigy
初级会员   /  发表于:2023-10-8 14:18:31
7#
Eden.Sun 发表于 2023-10-8 11:41
这样吧,您把系统的日志级别调整一下,

可能是缓存问题,我把服务重启了下,还是用之前的方法,就可以正常预览了
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2023-10-8 15:33:21
8#
xhbigy 发表于 2023-10-8 14:18
可能是缓存问题,我把服务重启了下,还是用之前的方法,就可以正常预览了

嗯嗯,可以的,如果后面再出现的话,可以根据上面的方法,具体的排查一下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部