BIRT 有什么好办法接收数组型参数

2023-10-17 11:39
文章标签 参数 数组 接收 办法 birt

本文主要是介绍BIRT 有什么好办法接收数组型参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于BIRT不直接支持数组型参数参与查询,即:无法把一个数组直接传给DataSet执行带in的SQL,所以很难直接在数据集中把SQL拼出来。

不过,可以通过一个间接的方式来实现:

1、在DataSet中定义选出所有数据的SQL(select * from XX),然后定义参数(如arg1,显示类型为List Box),允许多值。

2、在DataSet的Script页签下选择beforeOpen事件,并编写如下JS脚本,进行SQL拼接(beforeOpen是指在数据集查询之前执行拼接SQL):

...

param = reportContext.getParameterValue("arg1");

tmp = "";

for(var i=0;i<param.length;i++){

tmp += param\[i\] + ",";

}

tmp = tmp.substring(0,tmp.length-1);

this.queryText += "where id in (" \+ tmp +")";

...

这样可以实现带in的条件查询,但是操作起来很麻烦,如果是字符串或日期时间类,则还要再拼上引号、或数据类型转换等,做起来充满太多不确定性,灵活性也很差。

如果可以直接使用数组型参数参与查询将会非常简单,数组型参数与查询结果的示意图如下:

 

 

 

 

 

建议使用集算器,在SQL中接收参数组,直接传递给SQL进行查询,最后将结果返回给BIRT的DataSet 进行直接报表展现。代码非常简单:

 

A

1

=myDB.query("SELECT * FROM SALES WHERE ORDERID IN (?)",arg1.array())

2

return A1

其实还有很多情况BIRT解决动态计算问题不太方便,但有集算器SPL的辅助却很简单,感兴趣可以参考:解决 BIRT 动态数据源的若干示例

集算器提供了 JDBC 驱动,可以很方便的与BIRT等报表工具集成,BIRT调用SPL脚本有使用和获得它的方法。

关于集算器安装使用、获得免费授权和相关技术资料,可以参见如何使用集算器。

这篇关于BIRT 有什么好办法接收数组型参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225107

相关文章

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与