找回密码
 立即注册

QQ登录

只需一步,快速开始

亚吖

中级会员

105

主题

387

帖子

998

积分

中级会员

积分
998

[已处理] 参数设置问题

亚吖
中级会员   /  发表于:2022-10-19 10:49  /   查看:4510  /  回复:10
1金币
如图,我把参数从侧边栏放到上面,然后我的工班和班组是可输入,可不输入的,不输入时,默认抽取所有数据。我需要在参数里做什么设置,才能达到这个目的
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您好,如果您是直接调用的存储过程的话,sql 里面使用 in 是不是参数是值。 如果没有直接调用数据库的存储过程,那么 无论我们的默认值穿什么, 只要您的程序里面能识别这个null值是不是就可以了。 目前的话,怎们这边只能是通过的多值参数解决这个问题。

10 个回复

正序浏览
亚吖
中级会员   /  发表于:2022-10-19 16:53:54
10#
我的参数不能是多值参数,这个方法不可取,我想想其他办法
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-10-19 15:27:57
9#
亚吖 发表于 2022-10-19 15:20
我想知道,如果是可不输入,那个默认值我可以用什么值输入替代,如果是可忽略,那个null值,我可以用什么值 ...

如果参数是“可不输入”需要给个默认值,根据您的要求,参数则需要是多值参数,可以新建个数据集,参数的默认数据来自于数据集,如果是“可忽略”则不需要加默认值,默认就是空的。您可以参考上面回复的demo,报表参数2就是“可不输入”。
回复 使用道具 举报
亚吖
中级会员   /  发表于:2022-10-19 15:20:23
8#
我想知道,如果是可不输入,那个默认值我可以用什么值输入替代,如果是可忽略,那个null值,我可以用什么值输入替代
回复 使用道具 举报
亚吖
中级会员   /  发表于:2022-10-19 15:19:05
7#
我用的ARJS,我是写存储过程,然后做了通用的接口,所以如果我这边参数改成用IN,那我存储过程那边也要修改
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-10-19 15:02:14
6#
亚吖 发表于 2022-10-19 14:54
这个方法不太行,因为如果按照这个方法,我SQL那边就要改语句。比如说可不输入的是给个默认值,那我能传一 ...

您好,和您确认一下,您使用的是ARJS吗,ARJS是一个纯前端的控件,不支持数据库连接,所以也无法编写sql。目前给您的解决方案就是我上面回复您的那个demo。
回复 使用道具 举报
亚吖
中级会员   /  发表于:2022-10-19 14:54:59
5#
这个方法不太行,因为如果按照这个方法,我SQL那边就要改语句。比如说可不输入的是给个默认值,那我能传一个什么值给我的参数,可以达到和默认值一样的效果
回复 使用道具 举报
Bella.YuanWyn认证
超级版主   /  发表于:2022-10-19 14:09:21
4#
亚吖 发表于 2022-10-19 13:14
我在SQL里设置了,但是你们这边可不输入,按照你们的方法,是要给个默认值,我这个怎么设置

您好,根据您的描述,帮你做了一个demo,您可以下载一下,因为ARJS不支持数据库,所以不可以用动态sql去实现,目前有一个解决方案,使用动态表达式进行过滤,添加2个数据集,1个用来做数据集过滤,设计报表用,1个用来做报表参数使用;添加2个参数,1个是多值参数,1个是单值参数,数据集的过滤使用动态表达式去编写,如下图示:

报表参数1是多值参数,需要隐藏,报表参数2是单值参数,需设置为“可不输入”,您可以下载查看demo,看是否能解决您当前的这个问题。

本帖子中包含更多资源

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

x
回复 使用道具 举报
亚吖
中级会员   /  发表于:2022-10-19 13:14:55
3#
我在SQL里设置了,但是你们这边可不输入,按照你们的方法,是要给个默认值,我这个怎么设置

本帖子中包含更多资源

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

x
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2022-10-19 11:15:28
2#
您好,做到参数可选则输入,您在参数设置里面,选中“可不输入”就行:




至于您说的,当参数没有输入时查询所有的数据,这就要您再SQL中根据参数进行控制了。

本帖子中包含更多资源

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

x
回复 使用道具 举报
最佳答案
最佳答案
Eden.SunWyn认证
超级版主   /  发表于:2022-10-19 10:49:36
来自 11#
亚吖 发表于 2022-10-19 16:53
我的参数不能是多值参数,这个方法不可取,我想想其他办法

您好,如果您是直接调用的存储过程的话,sql 里面使用 in  是不是参数是值。
如果没有直接调用数据库的存储过程,那么  无论我们的默认值穿什么, 只要您的程序里面能识别这个null值是不是就可以了。


目前的话,怎们这边只能是通过的多值参数解决这个问题。

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