永洪社区

标题: 内置参数不生效 [打印本页]

作者: xin    时间: 2024-8-1 09:37
标题: 内置参数不生效
在sql中使用了内置参数,但是sql查询结果并没有按照查询条件来,这是什么 原因?比如我一个广东省的账号,在分组广东省内,但是sql查出来其他省份的数据。在脚本中输出了一下这个内置参数,但是报错了,这是什么原因呢

作者: yhdata_lyaa    时间: 2024-8-1 09:55
脚本要这样写
debug(param['参数名'])
作者: yhdata_lyaa    时间: 2024-8-1 09:55
数据集使用参数参考
https://www.yonghongtech.com/rea ... paramindataset.html
作者: xin    时间: 2024-8-1 10:25
本帖最后由 xin 于 2024-8-1 10:28 编辑
yhdata_lyaa 发表于 2024-8-1 09:55
数据集使用参数参考
https://www.yonghongtech.com/real-help/Z-Suite/10.2/ch/paramindataset.html ...

内置参数也用param?帮助文档中的内置参数是直接调用的呀
作者: yhdata_lyaa    时间: 2024-8-1 10:34
xin 发表于 2024-8-1 10:25
内置参数也用param?帮助文档中的内置参数是直接调用的呀

是的,这是脚本里的写法,其他地方是?{}
作者: xin    时间: 2024-8-1 10:36
yhdata_lyaa 发表于 2024-8-1 10:34
是的,这是脚本里的写法,其他地方是?{}

那sql中不生效是为什么?
作者: yhdata_lyaa    时间: 2024-8-1 11:11
xin 发表于 2024-8-1 10:36
那sql中不生效是为什么?


语法参考上面的链接哦,你写的是哪种呢
<a></a>中包含?{a}形式

例如<a>where city=?{a}</a>,参数可以不传值

此语句用<a></a>来标注此条where语句的起始位置,<></>里的内容要和参数的名字一样,要成对出现,不可嵌套使用。当a是空值的时候,会自动把此标签之内的语句删除,这个例子里where语句被删除,因此允许a为空。一般使用如下:

select * from coffee where 1=1 <m>and market in ?{m}</m>

select * from coffee <m>where market like ?{m}</m>
作者: xin    时间: 2024-8-1 11:15
yhdata_lyaa 发表于 2024-8-1 11:11
数据集这几个参数是空值吗,
语法参考上面的链接哦,你写的是哪种呢
中包含?{a}形式

都说了使用的是内置参数,也有分组设置,跟你说的这个sql语法没什么关系呀
作者: yhdata_lyaa    时间: 2024-8-1 13:28
xin 发表于 2024-8-1 11:15
都说了使用的是内置参数,也有分组设置,跟你说的这个sql语法没什么关系呀 ...

在报告的脚本中可以通过param["_ROLES_"] 或者 param["_GROUPS_"] 来获取登录用户的全部角色或者分组。
例如:debug(param['_GROUP_'])
//debug一个组看看是什么

因为?{_GROUPS_} 本身是一个参数,它的值是一个数组,这个SQL能怎么执行呢。

我理解错了,内置参数不需要自己设置值,但是使用方法和其他参数是一样的。




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