永洪社区

标题: 参数不选时,数据集报错 [打印本页]

作者: yhdata_woT34Zd3    时间: 昨天 09:35
标题: 参数不选时,数据集报错
我有一个简单的数据集
select *
from table
where 货品 in (?{货品参数})




当我全部去掉,不勾选任何货品参数里面的选项时,数据集查询条件为空报错!


如何能不勾选任何参数的情况下,让他传 NULL值,而不是 数据集报错呢?

作者: 宇文波    时间: 昨天 09:35
本帖最后由 宇文波 于 2024-12-12 11:26 编辑
yhdata_woT34Zd3 发表于 2024-12-12 11:11
我怎么才能在他一个都不选的情况下,传个 NULL?

你这传个null 和不选值相当于传给select * 没过滤,相当于查看全部数据,
你要是想实现用户不选是sql查不到数据写个在脚本写个判断咯或者弄个参数P的默认值是不存在的货品咯
变化时运行脚本判断可以写
if(xx参数为空){
p='999999999999'//sql过滤的参数

可能还有其他方式。设置参数为空时,过滤为空数据
作者: 宇文波    时间: 昨天 09:49
where 1=1
<p> and product = ?{p} </p> /* p是参数名称,可以任意指定 */
这种参数写法不传参数或传个null就不拼接sql了
作者: yhdata_lyaa    时间: 昨天 10:18
看看楼上
如where city=?{a},参数必须传值
此语句是直接用参数值替换"?{a}"的字符。如果a=北京,就替换成"where city=北京"。因此,a不能是空值,否则"where city="的语句就非法了。

<a></a>中包含?{a}形式

例如<a>where city=?{a}</a>,参数可以不传值
https://www.yonghongtech.com/hel ... paramindataset.html
作者: yhdata_woT34Zd3    时间: 昨天 10:43
yhdata_lyaa 发表于 2024-12-12 10:18
看看楼上
如where city=?{a},参数必须传值
此语句是直接用参数值替换"?{a}"的字符。如果a=北京,就替换成"w ...

我的目的就是让它传空值 ,不显示任何信息,但是 不要报错:数据集查询失败。

如果用了<p> and product=?{p} </p> 虽然不报错,但是会看到 所有数据!
我的目的就是不能给用户看到任何数据!
作者: yhdata_woT34Zd3    时间: 昨天 11:11
宇文波 发表于 2024-12-12 09:49
where 1=1
and product = ?{p}  /* p是参数名称,可以任意指定 */
这种参数写法不传参数或传个null就不拼 ...

我怎么才能在他一个都不选的情况下,传个 NULL?
作者: yhdata_lyaa    时间: 昨天 11:17
yhdata_woT34Zd3 发表于 2024-12-12 11:11
我怎么才能在他一个都不选的情况下,传个 NULL?

看看空选项设置https://www.yonghongtech.com/hel ... C%E7%AD%96%E7%95%A5
作者: yhdata_woT34Zd3    时间: 昨天 16:09
yhdata_lyaa 发表于 2024-12-12 11:17
看看空选项设置https://www.yonghongtech.com/hel ... C%E7%AD%96%E7%95%A5

永宏报表绑定权限是用 报表名称和用户绑定的还是 报表ID和用户绑定的?这个你知道吗》?




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