最新历史版本 :存储过程数据集 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

「存储过程」就是存储在数据库中的一组 SQL 语句集。FineReport 支持直接调用数据库的存储过程,就获得执行了「存储过程」SQL 语句集后的表。

下面我们就以 MySQL 为例,建一个模板数据集,为大家介绍下具体的定义方法。

2. 定义数据集编辑

1)点击「+」,添加「存储过程」数据集,如下图所示:

51.png

2)选择数据库后,在左侧框内显示的就是存储在数据库中的存储过程。本示例只有一个存储过程,双击该存储过程,如下图所示:

2.png

注:MySQL,DB2,Oracle,SQLServer 是支持自动获取参数和参数的默认值的,而 Access,HSQL,Sybase 无法自动获取需要手动添加。

在 MySQL 中,存储过程查询结果默认不使用别名。即「 select XXX AS XXX from...  」,默认使用原名而不是使用「as」后的别名。

若需要显示别名,需要手动指定一下:在数据库连接的 URL 后加 ?useOldAliasMetadataBehavior=true,例如:jdbc:mysql://env.finedevelop.com:55703/testskp?useOldAliasMetadataBehavior=true

3)点击「预览」,可以预览存储过程的数据集,如下图所示:

1.gif

4)点击「确定」,即可成功添加存储过程数据集。添加后如下图所示:

4.png

注:FineReport 存储过程返回的是数据集,不能返回单个的参数值。

3. 支持返回多个结果集编辑

若存储过程中返回的是多个结果集,那么在 FineReport 中也是支持同时返回多个结果集,如下图所示:

22.png

点击「预览」可以看到多个结果集,如下图所示:

23.png

数据集可以同时查看多个结果集,如下图所示:

24.png