皕杰报表如何实现参数为空则查询全部数据

混世魔王
• 阅读 364

当我们在用报表工具做报表查询时,可以通过参数来控制查询的数据,但有时又想不输入参数时查所有数据,这个能够实现吗?答案是肯定的,没问题,只要在sql里设置条件时把NULL加上就可以了,基本的语句就是: where id=? or ? is null。

皕杰报表中输入参数为空时要取全部数据也是用在sql加条件 id=? or ? is null形式,但是有几种情况这种方法并不适用。

(一)当参数类型为数组时sql语句用in(?)形式,如果写id in (?) or ? is null,如果输入多个参数时会报语法错误。

解决办法:

sql语句写成 SELECT * FROM test where id in (?) or ?=’1’,然后在对应的第二个数据集参数处写if(@参数名==null,‘1’,‘0’)即可。 其实质就是当参数为空时给他并一个1=1。 皕杰报表如何实现参数为空则查询全部数据

例:报表查询时如何实现不输入参数则查询全部数据 (二) informix数据库不支持 id=? or ? is null语法,同样sql中写 id=? or ?=’1’, 然后在对应的第二个数据集参数处写if(@参数名==null,‘1’,‘0’)即可。 皕杰报表如何实现参数为空则查询全部数据

(三) DB2数据库不支持 id =? or ? is null语法。

解决方法同第二种方法。

原文链接: https://blog.csdn.net/bjbb_2007/article/details/121358078

点赞
收藏
评论区
推荐文章
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
HTTP ERROR 500 java.lang.NumberFormatException: For input string: ““
在皕杰报表设计器中,打开报表时,报这个错误。然后你还会发现参数那里点不开,这就证明有可能是参数出了问题。我们把brt复制出来,使用编辑器打开brt文件,我们可以看到这个参数没有数据类型。我们把数据类型加上就可以了,我们可以设计一个有参数的没问题的报表,参数
皕杰报表中参数和变量的区别
在皕杰报表中,参数是有数据类型的变量,在报表运算过程中作为变量使用。参数那么参数在皕杰报表中具体如何使用呢?1、作为sql语句的where条件:通过给参数赋值可以实现动态查询,给参数赋予不同的值,从而查询出来不同的数据结果。需
皕杰报表之预览数据不全
有时用皕杰报表做设计时,你会发现一个问题,报表工具中预览的数据不全,你仔细的检查了各个方面,发现设计的都没问题,但就是浏览的数据不全。这时你可以将报表部署到服务器上,用浏览器预览你发现一切正常。原因:皕杰设计器对数据是有限制的。为了减少设计器所占内存,在设
序列生成函数
皕杰报表的序列生成函数是我们经常会使用的,在做报表的时候,经常需要生成一个序列,比如:字母序列a、b、c、d、e…皕杰报表本身提供了list函数来生成有限的枚举序列,使用如下:语法:list(valueExp1,valueExp2,valueExp3,……)参数说明:valueExp(n) 可以是字符型数据,整型数据,浮点型数据,布尔型数据或表达式举例说
报表的性能优化
​对于一个报表检验,性能就是其检验方向之一,皕杰报表之初就把性能摆到了第一位,但当面对超量的数据,服务器硬件毕竟有限,因而在设计报表时,性能优化也是需要考虑的问题。可以从以下几个方面来考虑优化:1.对数据集的sql语句进行优化,利用参数控制取出数据的数量,还可以使用视图或存储过程优化数据的获取。2.在制表的过程过程中进行函数的优化,使用select函数时,相
皕杰报表之参数为NULL时,取全部数据
在做报表时候,我们经常会遇到这种情况,想参数为空时,可以查询到全部数据,我们可以通过以下方式来实现:1.通过拼串来实现,当我们设置参数sex和dept两个参数,我们可以使用例子中的语句来实现为空时取全部。2.sql语句写成selectfromemployeewheresexin(?)or?'1'的方式,然后在数据集参数处写if(@sexnul
皕杰报表之报表优化
在做报表时,数据量少的情况下,不明显,但数据量过大的情况下,可能就会出现预览数据缓慢等情况,这时我们可以设计报表时,进行一些优化。1.优化报表运算时间,皕杰报表的brt文件在服务端是由servlet解析的,其报表生成的运算顺序是:变量参数运算数据集取数及运
混世魔王 混世魔王
1年前
皕杰报表中的参数如何传递到sql?
皕杰报表中设置了参数,可以在sql中、单元格里、属性里使用。那么参数是如何传递到sql中的呢?要想传递到sql,在sql中就要有替代参数的符号,皕杰报表是用“?”来替代的,在sql语句的where条件中用?来替代参数,并在数据集属性的数据集参数中选择设置的
混世魔王 混世魔王
1年前
皕杰报表查询表单的隐藏处理
报表工具中查询表单一般都是固定的,选择参数值后点击查询即可。能不能想个办法,让表单变成动态的,可以根据我们的选择显示不同的表单呢?比如我查年的数据,就只有年这个参数,查月的数据,就有年、月两个参数,查具体日的数据就有年、月、日三个参数。这个皕杰报表是完全可