永洪社区

标题: 怎样在打开报表装载数据之前先执行一个sql查询? [打印本页]

作者: 阿姆斯特朗炮    时间: 2022-3-22 12:01
标题: 怎样在打开报表装载数据之前先执行一个sql查询?
业务上是这样的,刚打开报表时(加载业务数据之前),需要去数据库里查询一个数据,然后将查询出来的结果,记录到一个参数中(这个sql只会执行一次,这个参数的值不会改变,直到下次刷新链接才会重新获取),然后,在本界面所有的业务数据的sql条件都需要关联一下该参数,进行取数,怎么实现?

作者: 永洪tech-Lerry    时间: 2022-3-22 12:01
您试一下把这个查询写到一个SQL数据集中,如果这个查询结果是一个具体的值,这个数据集就只有一行一列放这个值,然后在报告装载时的脚本一开始加入语句:
var data = execute(this,SQL,"A");
param["a"]=data.get(1,0);
#A为您的数据集全路径,a为您需要赋值的参数名称
作者: wwwww    时间: 2022-3-22 12:28
参考这个 https://club.yonghongtech.com/fo ... l%E5%8F%82%E6%95%B0
作者: 阿姆斯特朗炮    时间: 2022-3-22 13:03
yhdata_4AUIACTC 发表于 2022-3-22 12:28
参考这个 https://club.yonghongtech.com/forum.php?mod=viewthread&tid=10422&highlight=sql%E5%8F%82%E6% ...

?不是sql传参,而是sql的执行顺序怎么设置
作者: wwwww    时间: 2022-3-22 13:06
yhdata_S2N0KkXt 发表于 2022-3-22 13:03
?不是sql传参,而是sql的执行顺序怎么设置

无法设置
作者: 阿姆斯特朗炮    时间: 2022-3-22 13:39
yhdata_4AUIACTC 发表于 2022-3-22 13:06
无法设置

有没有办法在加载业务数据之前,先执行一个sql?
作者: humming    时间: 2022-3-22 13:44
yhdata_S2N0KkXt 发表于 2022-3-22 13:39
有没有办法在加载业务数据之前,先执行一个sql?

在报表的初始化脚本里通过execute可以执行一个查询。
你可以提前把要执行的sql保存在一个查询里,在这里来执行
https://www.yonghongtech.com/hel ... m_highlightsub=exec
作者: 阿姆斯特朗炮    时间: 2022-3-22 13:47
humming 发表于 2022-3-22 13:44
在报表的初始化脚本里通过execute可以执行一个查询。
你可以提前把要执行的sql保存在一个查询里,在这里 ...

好的,谢谢,我试试
作者: 阿姆斯特朗炮    时间: 2022-3-22 14:09
永洪tech-Lerry 发表于 2022-3-22 13:49
您试一下把这个查询写到一个SQL数据集中,如果这个查询结果是一个具体的值,这个数据集就只有一行一列放这 ...

恩恩,就是需要这个东西,谢谢了




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