隨筆 - 225  文章 - 98  trackbacks - 0
          <2011年9月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          隨筆分類

          相冊

          報表工具廠商們

          搜索

          •  

          最新評論

          閱讀排行榜


          在使用java報表工具時如有一個參數查詢語句:SELECT * FROM Stscore WHERE Stdno IN (${studentno})實際情況中studenno可能是根據其他條件查詢出來的結果列表,也許超過1000個學號,如最終為

          SELECT * FROM Stscore WHERE Stdno IN (10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10010, 10011, 10012, 10013, ……,10989, 10990, 10991, 10992, 10993, 10994, 10995, 10996, 10997, 10998, 10999, 11000,11001)

          直接執(zhí)行上述語句,由于studentno參數的個數超過了1000個,數據庫端將報ORA-01795的錯誤,如下圖

          http://www.finereport.com/forumimages/e440.png

          如何解決該問題呢?此時,如果將studentno參數分割成多段,如以500為單位進行分割,將上述11001個參數值分為3部分,形成3條查詢條件,便可避免該問題。

              即變?yōu)?/span>SELECT * FROM Stscore WHERE Stdno IN (10001,10002,…,10500) or Stdno IN (10501,10502,…,11000) or Stdno IN (11001)

                  FineReport并沒有實現(xiàn)該功能的內置函數,對于這種情況,我們可以自定義一個SubSection分組函數        該函數的使用規(guī)則為:SubSection(para)

          參數para為字符串形式,該函數的作用即將字符串參數以500為單位進行分割,并返回分割后形成的數組。

          完整代碼如下:

          http://www.finereport.com/forumimages/e441.png

          http://www.finereport.com/forumimages/e442.png

          編譯自定義函數

          將編譯后的SubSection.class放到FineReport的安裝目錄WEB-INF下面的classes目錄下,因為SubSection.java屬于包com.fr.demo,所以SubSection.class需要放到classes\com\fr\demo目錄下。

          注冊并使用自定義函數

                 注冊好定義的函數后便可進行使用了,注冊與使用方法在上一節(jié)簡單的自定義函數中已經介紹過,在此就不詳細描述了。由于實際獲得的參數格式不定,可以根據具體情況在報表工具中調整java程序。

          文章轉自:

          http://blog.vsharing.com/fanfanzheng/A1421549.html



          了解Java報表工具就從這里開始
          posted on 2011-09-21 15:46 season 閱讀(273) 評論(0)  編輯  收藏 所屬分類: Java報表—技術知識
          主站蜘蛛池模板: 缙云县| 枣强县| 绍兴市| 南宫市| 灵石县| 林芝县| 太原市| 昆山市| 阿坝县| 板桥市| 香河县| 顺平县| 南靖县| 宝清县| 锡林郭勒盟| 耒阳市| 从江县| 罗定市| 西林县| 南部县| 五指山市| 宁陵县| 调兵山市| 彭水| 石门县| 灵寿县| 郑州市| 遂昌县| 纳雍县| 泰和县| 聂荣县| 含山县| 天祝| 宿松县| 天等县| 青龙| 台南市| 滨海县| 原阳县| 金乡县| 全州县|