国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

實(shí)現(xiàn)類GRID報(bào)表功能的程序包

2024-07-21 02:35:38
字體:
供稿:網(wǎng)友

  1 前言
  相信使用OracleDeveloper設(shè)計(jì)系統(tǒng)的同仁,都有一個(gè)愿望,就是實(shí)現(xiàn)類似于GRID的控件,配置相關(guān)的參數(shù),就可以將查詢結(jié)果顯示給用戶,不需要再另行編制用戶界面,不需要再編制報(bào)表文件。
  OracleDeveloper自身并不支持實(shí)現(xiàn)該功能的任何方法,之前考慮過用javaBean來實(shí)現(xiàn),由于時(shí)間關(guān)系,加上對Java開發(fā)環(huán)境不熟悉,此愿望一直沒有實(shí)現(xiàn)。
  前幾天在莫兄的SLK文章指引下,編制了SLK文件生成的程序包,又經(jīng)過數(shù)天的編碼,終于實(shí)現(xiàn)通過前臺參數(shù)配置<可以是數(shù)據(jù)塊、SQL語句、數(shù)據(jù)表名、視圖名 designtimesp=13499>,生成SLK文件,并在IE中顯示。用戶可以另存該文件或打印該文件。
  
  2 說明
  2.1 調(diào)用接口<由于程序包不是類,無法通過Public與PRivate開放或屏蔽內(nèi)部函數(shù),所以將調(diào)用函數(shù)列出,以方便同仁們使用 designtimesp=13504>
  --以XLS報(bào)表方式輸出查詢結(jié)果,使用數(shù)據(jù)塊語句方式,使用輪詢方式,速度可能較慢
  Procedure SP_RuntimeReport
  (P_BlockName In VarChar2 --查詢的數(shù)據(jù)塊名稱
  ,P_FieldList In VarChar2 --要查詢的字段,以“,’分隔
  ,P_FieldTitleList In VarChar2 --要查詢的字段名稱,以“,’分隔
  ,P_SlkFileName In VarChar2 --要生成的SLK文件名
  ,P_ServerName In VarChar2 --OC4J服務(wù)器名
  ,P_ServerPort In Varchar2 --OC4J端口號
  ,P_VirualPath In VarChar2 --存盤SLK文件的WEB虛擬路徑名
  );
  --以XLS報(bào)表方式輸出查詢結(jié)果,使用查詢語句方式
  Procedure SP_RunTimeReport
  (P_SqlStr In Varchar2 --查詢語句
  ,P_FieldList In VarChar2 --要查詢的字段,以“,’分隔
  ,P_FieldName In VarChar2 --查詢結(jié)果的標(biāo)題,應(yīng)與查詢語句對應(yīng),以“,”分隔
  ,P_FieldType In Varchar2 --查詢結(jié)果的字段類型,以“,”分隔
  ,P_FieldWidth In VarChar2 --標(biāo)題寬度,應(yīng)與查詢語句對應(yīng),以“,”分隔
  ,P_SlkFileName In VarChar2 --要生成的SLK文件名
  ,P_ServerName In VarChar2 --OC4J服務(wù)器名
  ,P_ServerPort In Varchar2 --OC4J端口號
  ,P_VirualPath In VarChar2 --存盤SLK文件的WEB虛擬路徑名
  );
  --以XLS報(bào)表方式輸出查詢結(jié)果,使用數(shù)據(jù)源語句方式
  Procedure SP_RuntimeReport
  (P_DataSourceName In VarChar2 --查詢的數(shù)據(jù)源名稱<可以是視圖或數(shù)據(jù)表 designtimesp=13530>
  ,P_FieldList In VarChar2 --要查詢的字段,以“,’分隔
  ,P_FieldName In VarChar2 --查詢結(jié)果的標(biāo)題,應(yīng)與查詢語句對應(yīng),以“,”分隔
  ,P_FieldWidth In VarChar2 --標(biāo)題寬度,應(yīng)與查詢語句對應(yīng),以“,”分隔
  ,P_WhereStr In VarChar2 --查詢條件
  ,P_OrderBy In VarChar2 --排序
  ,P_SlkFileName In VarChar2 --要生成的SLK文件名
  ,P_ServerName In VarChar2 --OC4J服務(wù)器名
  ,P_ServerPort In Varchar2 --OC4J端口號
  ,P_VirualPath In VarChar2 --存盤SLK文件的WEB虛擬路徑名
  );
  2.2 調(diào)用說明
  調(diào)用參數(shù)分為兩類
  2.2.1 數(shù)據(jù)參數(shù)
  需要傳入的參數(shù)中,包括指定數(shù)據(jù)源名稱、需要在報(bào)表中顯示的字段以及相應(yīng)中文名稱、中文、寬度;
  2.2.2 SLK文件調(diào)用參數(shù)
  需要傳入的參數(shù)中,包括調(diào)用SLK文件需要的WEB服務(wù)器名、端口與,以及虛擬路徑名
  
  2.3 待完善的功能
  2.3.1 目前關(guān)于數(shù)據(jù)參數(shù)仍有較多的配置項(xiàng),有些可能可以簡化, 如寬度設(shè)定、中文名設(shè)定<在FORM中,我使用Get_item_Property不能獲得數(shù)據(jù)項(xiàng)的LABEL.... designtimesp=13553>等等,由于時(shí)間關(guān)系,目前將未明確可以程序自動(dòng)實(shí)現(xiàn)的功能,全部使用參數(shù)傳遞方式。
  2.3.2 排版功能較弱,較為重要的排版功能目前沒有,如:合并單元格、頁面設(shè)置、分頁符...等??赡苄枰獙LK參數(shù)進(jìn)行進(jìn)一步的了解,目前對SLK參數(shù)的理解是基于將Excel轉(zhuǎn)存為SLK,再通過閱讀SLK代碼獲得。

  2.3.3 目前沒有對正要生成的SLK文件是否存在沖突以及存盤的目錄是否合法進(jìn)行判定和處理。
  -------------------------------------------------------------
  3 代碼<考慮許多同仁沒有安裝DS9i,所以將源代碼貼上,以方便大家
  -------------------------------------------------------------
  PACKAGE Fmp_System_RuntimeReport IS
  --以XLS報(bào)表方式輸出查詢結(jié)果,使用數(shù)據(jù)塊語句方式,使用輪詢方式,速度可能較慢
  Procedure SP_RuntimeReport
  (P_BlockName In VarChar2 --查詢的數(shù)據(jù)塊名稱
  ,P_FieldList In VarChar2 --要查詢的字段,以“,’分隔
  ,P_FieldTitleList In VarChar2 --要查詢的字段名稱,以“,’分隔
  ,P_SlkFileName In VarChar2 --要生成的SLK文件名
  ,P_ServerName In VarChar2 --OC4J服務(wù)器名
  ,P_ServerPort In Varchar2 --OC4J端口號
  ,P_VirualPath In VarChar2 --存盤SLK文件的WEB虛擬路徑名
  );
  --以XLS報(bào)表方式輸出查詢結(jié)果,使用查詢語句方式
  Procedure SP_RunTimeReport
  (P_SqlStr In Varchar2 --查詢語句
  ,P_FieldList In VarChar2 --要查詢的字段,以“,’分隔
  ,P_FieldName In VarChar2 --查詢結(jié)果的標(biāo)題,應(yīng)與查詢語句對應(yīng),以“,”分隔
  ,P_FieldType In Varchar2 --查詢結(jié)果的字段類型,以“,”分隔
  ,P_FieldWidth In VarChar2 --標(biāo)題寬度,應(yīng)與查詢語句對應(yīng),以“,”分隔
  ,P_SlkFileName In VarChar2 --要生成的SLK文件名
  ,P_ServerName In VarChar2 --OC4J服務(wù)器名
  ,P_ServerPort In Varchar2 --OC4J端口號
  ,P_VirualPath In VarChar2 --存盤SLK文件的WEB虛擬路徑名
  );
  --以XLS報(bào)表方式輸出查詢結(jié)果,使用數(shù)據(jù)源語句方式
  Procedure SP_RuntimeReport
  (P_DataSourceName In VarChar2 --查詢的數(shù)據(jù)源名稱<可以是視圖或數(shù)據(jù)表 designtimesp=13585>
  ,P_FieldList In VarChar2 --要查詢的字段,以“,’分隔
  ,P_FieldName In VarChar2 --查詢結(jié)果的標(biāo)題,應(yīng)與查詢語句對應(yīng),以“,”分隔
  ,P_FieldWidth In VarChar2 --標(biāo)題寬度,應(yīng)與查詢語句對應(yīng),以“,”分隔
  ,P_WhereStr In VarChar2 --查詢條件
  ,P_OrderBy In VarChar2 --排序
  ,P_SlkFileName In VarChar2 --要生成的SLK文件名
  ,P_ServerName In VarChar2 --OC4J服務(wù)器名
  ,P_ServerPort In Varchar2 --OC4J端口號
  ,P_VirualPath In VarChar2 --存盤SLK文件的WEB虛擬路徑名
  );
  --創(chuàng)建報(bào)表標(biāo)題,從前臺FORM數(shù)據(jù)塊創(chuàng)建
  Procedure SP_CreateReportTitle
  (P_SlkFile In Text_Io.File_Type --SLK文件對象
  ,P_BlockName In VarChar2 --查詢的數(shù)據(jù)源名稱<可以是視圖或數(shù)據(jù)表 designtimesp=13600>
  ,P_FieldList In VarChar2 --要生成報(bào)表的字段列表
  ,P_FieldTitleList In VarChar2 --要返回至報(bào)表的字段名稱,以“,”分隔
  ,P_FieldWidthType In Number --字段寬度設(shè)定方式,值表:0->不設(shè)定字段寬度;1->根據(jù)數(shù)據(jù)頂設(shè)定字段寬度
  );
  --創(chuàng)建報(bào)表標(biāo)題,根據(jù)用戶設(shè)定創(chuàng)建
  Procedure SP_CreateReportTitle
  (P_SlkFile In Text_Io.File_Type --SLK文件對象
  ,P_FieldNameList In VarChar2 --標(biāo)題名
  ,P_FieldWidthList In VarChar2 --標(biāo)題寬度,應(yīng)與查詢語句對應(yīng),以“,”分隔
  );
  --創(chuàng)建報(bào)表標(biāo)題,從后臺數(shù)據(jù)庫對象創(chuàng)建
  Procedure SP_CreateReportTitle
  (P_SlkFile In Text_Io.File_Type --SLK文件對象
  ,P_DataSourceName In VarChar2 --數(shù)據(jù)源名
  ,P_FieldWidthType In Number --字段寬度設(shè)定方式,值表:0->不設(shè)定字段寬度;1->根據(jù)數(shù)據(jù)源設(shè)定字段寬度;
  );
  --將數(shù)據(jù)導(dǎo)入至SLK
  Procedure SP_ImportDataToSlk
  (P_SlkFile In Out Text_Io.File_Type --Slk文件對象
  ,P_GetTypeObject In VarChar2 --查詢字段類型標(biāo)識,若數(shù)據(jù)源是BLOCK->數(shù)據(jù)塊名;若數(shù)據(jù)源是SQL->字段類型列表;若數(shù)據(jù)源是數(shù)據(jù)庫對象->數(shù)據(jù)庫對象名
  ,P_GroupName In Varchar2 --記錄組名稱
  ,P_FieldList In VarChar2 --要查詢的字段,以“,’分隔
  ,P_DataSourceType In Varchar2:='Block' --查詢方式,值表為:Block數(shù)據(jù)塊;
SQL查詢語句;DBObject數(shù)據(jù)庫對象
  );
  --獲取字段類型
  Function FN_GetFieldType
  (P_BlockName In VarChar2 --數(shù)據(jù)塊名稱
  ,P_ItemName In Varchar2 --數(shù)據(jù)項(xiàng)名稱
  )
  Return VarChar2; --返回字段類型,一般為“CHAR”字符型;“NUMBER”數(shù)值型;“DATE”日期型
  --獲取字段類型
  Function FN_GetFieldType
  (P_DataSourceName In VarChar2 --數(shù)據(jù)庫對象名稱,可以是視圖也可以是數(shù)據(jù)表
  ,P_FieldName In Varchar2 --字段名稱
  ,P_DataSourceType In VarChar2 --數(shù)據(jù)庫對象類型,值表為:“VIEW”或“TABLE”
  )
  Return VarChar2; --返回字段類型,一般為“CHAR”字符型;“NUMBER”數(shù)值型;“DATE”日期型
  
  -------------------------------------
  --設(shè)置創(chuàng)建SLK文件--------------------
  -------------------------------------
  Procedure SP_CreateSlkFile
  (P_SlkFile In Out Text_Io.File_Type --SLK文件對象
  ,P_FileName In VarChar2 --要?jiǎng)?chuàng)建的文件名

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 济阳县| 韩城市| 蛟河市| 舞钢市| 开江县| 溆浦县| 金溪县| 大兴区| 沙坪坝区| 桂林市| 阿瓦提县| 依兰县| 北碚区| 新和县| 黄浦区| 临桂县| 双峰县| 阜宁县| 鹰潭市| 衡山县| 福泉市| 武定县| 盐津县| 南康市| 奉化市| 临汾市| 页游| 剑川县| 海宁市| 麻江县| 会同县| 民和| 维西| 寿光市| 谢通门县| 乌鲁木齐县| 福州市| 新安县| 冀州市| 呼图壁县| 怀化市|