永洪社区

标题: 如何给数据集传递空 [打印本页]

作者: yhdata_v5YKgYap    时间: 2022-7-13 16:13
标题: 如何给数据集传递空
三个筛选项,设置只能三选一,比如筛选了  市场分布,后面的产品种类和产品名称就不能筛选并且后面两项  传递参数为空,

例:市场分布选择了东部市场

那对应的数据集中的数据
select * from 咖啡中国市场销售数据
where  市场分布='东部市场'
and 产品种类 =''
and 产品名称=''

若 产品种类 选择了茶
对应数据集  中的数据是
select * from 咖啡中国市场销售数据
where  市场分布=''
and 产品种类 ='茶'
and 产品名称=''









作者: yhdata_lyaa    时间: 2022-7-13 17:00
咋判断的只能三选一
作者: humming    时间: 2022-7-13 17:26
这个目前没有好的方式。
一种解法是做成两个 选择器, 第一个来选择是哪个列, 第二个选选中列对应的值。
作者: yhdata_Jenny    时间: 2022-7-13 17:26
目前无法通过脚本控制组件交互行为,可以考虑使用报告脚本根据条件控制组件的可用性属性enable
作者: yhdata_v5YKgYap    时间: 2022-7-13 17:39
humming 发表于 2022-7-13 17:26
这个目前没有好的方式。
一种解法是做成两个 选择器, 第一个来选择是哪个列, 第二个选选中列对应的值。 ...

三选一不是主要问题,主要问题是怎么能够把where 条件里边的 '' 从前边传递到sql里边,  以什么样的形式传递,

然后永洪在编译sql的时候是不是会把传递过去的参数值加上单引号啊,
比如 where 产品种类=?{茶},编译完后就成了 where 产品种类='茶'  了。


作者: humming    时间: 2022-7-13 17:50
yhdata_v5YKgYap 发表于 2022-7-13 17:39
三选一不是主要问题,主要问题是怎么能够把where 条件里边的 '' 从前边传递到sql里边,  以什么样的形式 ...

1. 不会自动加引号的,默认是通过preparedstatement传递参数的方式来工作的,如果你是希望直接修改sql,可以用 ?{@xxxx} 而不是 ?{xxxx}的方式。
2. 参数要支持null的话需要特殊写,否则sql不完整数据库会报错
详细可以参考
https://www.yonghongtech.com/hel ... =%E5%8F%82%E6%95%B0

PS:你的三选一怎么支持的?学习下
作者: yhdata_v5YKgYap    时间: 2022-7-14 11:49
humming 发表于 2022-7-13 17:50
1. 不会自动加引号的,默认是通过preparedstatement传递参数的方式来工作的,如果你是希望直接修改sql, ...

谢谢,没啥好的办法,就是在提交按钮那里新增了一个,置灰,然后判断是否显示
作者: humming    时间: 2022-7-14 13:08
yhdata_v5YKgYap 发表于 2022-7-14 11:49
谢谢,没啥好的办法,就是在提交按钮那里新增了一个,置灰,然后判断是否显示 ...

好,目前是只有提交时脚本是动作直接触发的,其它地方的脚本是间接触发的




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4