存儲過程是由流控制和SQL語句書寫的過程這個過程經編譯和優化後存儲在數據庫服務器中FienReport使用時只要調用即可
調用Oracle存儲過程主要有兩步第一步定義存儲過程第二步調用存儲過程
下面以一個具體的實例來學習如何使用FineReport調用Oracle存儲過程的
第一步Oracel定義存儲過程
StScroe是Oracele數據庫中的張表其中記錄了學生的成績信息表結構如下
定義返回列表的存儲過程——由於oracle存儲過程沒有返回值它的所有返回值都是通過out參數來替代的列表同樣也不例外但由於是集合所以不能用一般的參數必須要用pagkage了所以定義存儲過程要分兩部分
建立一個程序包如下
CREATE OR REPLACE PACKAGE TESTPACKAGE AS
TYPE Test_CURSOR IS REF CURSOR;
END TESTPACKAGE;
建立存儲過程存儲過程為
CREATE OR REPLACE PROCEDURE p_STSCORE(Class in varcharp_CURSOR out TESTPACKAGETest_CURSOR) IS
BEGIN
OPEN p_CURSOR FOR SELECT * FROM FRSTSCORE where STSCOREClassNo=Class;
END p_STSCORE;
第二步調用存儲過程
啟動FineReport設計器右擊數據源面板選擇私有數據源彈出私有數據源對話框
點擊增加按鈕新建一個私有數據源名為ds數據庫選擇為Oracle數據源查詢類型為存儲過程在sql文本框中寫如下語句調用存儲過程
{call frp_stscore([?Class|Class?]?)}
點擊預覽按鈕可以預覽查詢到的數據如下所示
至此FineReport設計器成功調用Oracle存儲過程您可以根據報表需求隨心所欲地設計報表樣式了
From:http://tw.wingwit.com/Article/program/Oracle/201311/18357.html