当前位置:首页 » 存储配置 » finereport存储过程

finereport存储过程

发布时间: 2022-05-06 06:46:50

‘壹’ 显示的字段值根据输入的条件变化而变化sql,存储过程,finereport

可以用动态SQL
也可以写类似的条件
AND (P_TYPE IS NULL OR P.TYPEID = P_TYPE)
AND (P_HOUSEID IS NULL OR P.HOUSEID = P_HOUSEID)

‘贰’ 使用FineReport开发报表时怎么调用非当前用户下的oracle存储过程

这个报错是因为你切换了数据库端用户,所以它找不到SCOTT这个用户名。你只要把SCOTT加上就能正常调用数据库了。当然,你还要保证当前的数据库端用户需要对SCOTT用户下的存储过程有访问权限。

‘叁’ 求助,FineReport点“查询”按钮之前调用Oracle过程

调用Oracle过程一共有两种情况,分别是不带输出参数的和带参数的,具体内容可以参照如Chinafine之类的论坛或者博客,在这里就简单地说一下这两种情况的代码内容:

  1. 不带输出参数情况(过程名称为pro1,参数个数1个,数据类型为整形数据 )

import java.sql. *
;
public class ProcereNoArgs
{
public static void main(Stringargs[]) throws Exception
{
//
加载Oracle驱动
DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
//
获得Oracle数据库连接
Connectionconn =
DriverManager.getConnection( " jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd
" );

// 创建存储过程的对象

CallableStatementc = conn.divpareCall( " {callpro1(?)} " );

// 给Oracle存储过程的参数设置值,将第一个参数的值设置成188
c.setInt( 1 , 188 );

// 执行Oracle存储过程
c.execute();
conn.close();
}
}

2.带输出参数的情况(过程名称为pro2,参数个数2个,数据类型为整形数据,返回值为整形类型)

importjava.sql.*;
publicclassProcereWithArgs
{
publicstaticvoidmain(Stringargs[])throwsException
{
//加载Oracle驱动
DriverManager.registerDriver(neworacle.jdbc.driver.OracleDriver());
//获得Oracle数据库连接
Connectionconn = DriverManager.getConnection("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd ");

//创建Oracle存储过程的对象,调用存储过程
CallableStatementc=conn.divpareCall("{callpro2(?,?)}");

//给Oracle存储过程的参数设置值,将第一个参数的值设置成188
c.setInt(1,188);
//注册存储过程的第二个参数
c.registerOutParameter(2,java.sql.Types.INTEGER);
//执行Oracle存储过程
c.execute();
//得到存储过程的输出参数值并打印出来
System.out.println (c.getInt(2));
conn.close();
}
}

希望能够帮到题主~

‘肆’ 润乾报表怎么建一个存储过程的报表

润乾报表新建存储过程比较麻烦,具体如下:

新建空白报表
1)“配置” --“数据源”设置数据源
2)“配置”---“参数” 增加两个参数对应存储过程的输入参数,
参数名分别是 in_deptid和in_age
2)“配置”--“数据集”--“增加”--数据集类型选“存储过程” ,打开了存储过程数据集窗口
3) 定义tab填入:{call mypackage.EMP_TJ(?,?,?)};
参数tab中增加3个参数:第一个参数---参数表达式值in_deptid,其余默认
第二个参数---参数表达式值in_age,其余默认
第三个参数---参数表达式值@@result,结果类型为游标,参数模式为输出参数,其余默认;
这样就得到了数据集,假定这里数据集名是ds1,其有两列分别是in_deptid和in_age。
4)在报表单元格中就可以像使用SQL取数据集一样使用存储过程的数据集了。


现在很多朋友都用帆软finereport了,比润乾好用很多。新建存储过程,更连普通的数据连接一样,建议你试试。

‘伍’ 帆软怎么调用数据库里的存储过程

存储过程,就是直接将存储过程作为数据集,不需要在数据库查询处去调用存储过程。FineReport支持全部数据库的存储过程作为数据集并且定义方法都相同。
1、点击模板>模板数据集或者直接在数据集面板中,点击“+”
2、在数据库查询窗口中输入:
SET
NOCOUNT
ON
EXEC
dbo.jason
'${产品品号}'
其中
SET
NOCOUNT
ON
为固定格式,EXEC
dbo.jason(存储过程名称)'${产品品号}'
(产数子段),如果存储过程中带出多个字段的话,可以带出多个参数。
3、预览数据
4、报表字段设计
5、报表预览
若存储过程中返回的是多个结果集,在此也是支持同时返回多个结果集的。

‘陆’ 水晶报表可以连接oracle的存储过程吗

水晶报表可以连接oracle的存储过程,但是不是随便写一个在数据库中可以运行的存储过程就可以的。具体的步骤的话我不是特别清楚,现在很少用到水晶报表了,一般情况下用的都是finereport,这样的话就和题主稍微说下我现在用的工具的方法吧,应该是差不多的。

1、创建包

由于需要但会查询出来的数据集,需要在PL/SQL中创建一个package,这个包里面定义一个ref cursor类型,用于记录sql语句查询出来的结果集。如下图:

具体代码如下:

create or replace procere paging

(tableName in varchar2 ,--表名

pageSizes in number,--每页显示记录数

pageNow in number,--当前页

rowNums out number,--总记录数

pageNum out number,--总页数

paging_cursor out pagingPackage.paging_cursor) is

--定义部分

--定义sql语句,字符串

v_sql varchar2(1000);

--定义两个整数,用于表示每页的开始和结束记录数

v_begin number:=(pageNow-1)*pageSizes+1;

v_end number:=pageNow*pageSizes;

begin

--执行部分

v_sql:='select * from (select t1.*,rownum rn from (select * from '||tableName||') t1 where rownum<='||v_end||') where rn>='||v_begin;

--把游标和sql语句关联

open paging_cursor for v_sql;

--计算rowNums和pageNum

--组织一个sql语句

v_sql:='select count(*) from '||tableName;

--执行该sql语句,并赋给rowNums

execute immediate v_sql into rowNums;

--计算pageNum

if mod(rowNums,pageSizes)=0 then

pageNum := rowNums/pageSizes;

else

pageNum := rowNums/pageSizes+1;

end if;

end;

‘柒’ 求助,FineReport 如何调用存储过程参数

以oracle为例,建一个模板数据集。

1、点击模板>模板数据集,点击“+”,如下图:

‘捌’ iReport 能执行存储过程吗

楼主一直使用的是finereport报表软件,没有使用过ireport,但存储功能的执行是一个基本功能,两者之间应该没有太大的差别,以下的步骤题主可以参考下:存储过程,就是直接将存储过程作为数据集,不需要在数据库查询处去调用存储过程。第一步:定义数据集,点击模板>模板数据集或者直接在数据集面板中,点击加号键。切换到oracle数据库所在的数据连接,双击所需要添加的存储过程。注意:由于其是模板数据集处,因此该存储过程会存在模板数据集中,如果是在服务器数据集处定义的,则就会显示在服务器数据集所在的tab中。若存储过程中返回的是多个结果集,在此也是支持同时返回多个结果集;点击预览可以看到多个结果集,数据集可以同时查看多个结果集。
以上就是报表软件通用的存储过程的执行步骤,题主有机会可以尝试使用下finereport报表软件,个人觉得这款软件真心不错,对于复杂报表的处理尤其优化简洁~

‘玖’ vb中的数据报表要显示数据库中的存储过程中的信息,但是只显示了一条是什么原因

vb的数据报表没使用过,但是楼主可以去试试一些主流的java报表工具,我记得Finereport就是支持直接读取存储过程出报表的,没事的话,可以试一下

‘拾’ fastreport的dataset是存储过程怎么设计

我用的一直是FineReport,不过我觉得在存储过程上应该是类似的。下面是以oracle为例的,但原理是相同的。此外,fastreport应该有自己的demo的,你可以去找找。


点击模板>模板数据集或者直接在数据集面板中,点击如下图:

注:多个结果集只执行一次储存过程

热点内容
唱吧照片上传不了 发布:2024-09-23 05:18:42 浏览:78
java7并发 发布:2024-09-23 05:18:41 浏览:283
自己搭建印象笔记服务器 发布:2024-09-23 04:47:35 浏览:711
盘搜搜源码 发布:2024-09-23 04:15:37 浏览:862
java四种线程池 发布:2024-09-23 04:13:49 浏览:719
凯撒加密c语言 发布:2024-09-23 04:07:37 浏览:257
ftp上传模板 发布:2024-09-23 03:48:38 浏览:39
手机短信怎么从安卓同步到ios 发布:2024-09-23 03:46:59 浏览:563
c语言百马百担 发布:2024-09-23 03:45:36 浏览:768
我的世界服务器中主城传送指令 发布:2024-09-23 03:40:55 浏览:38