<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java軟件報(bào)表軟件技術(shù)博客

    java報(bào)表軟件技術(shù)匯總 java報(bào)表軟件制作 報(bào)表軟件新聞
    posts - 355, comments - 100, trackbacks - 0, articles - 3
       :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理

    1. 問(wèn)題描述

    對(duì)于多數(shù)據(jù)集關(guān)聯(lián)報(bào)表,當(dāng)數(shù)據(jù)很大時(shí)報(bào)表的展現(xiàn)速度就會(huì)很慢,或通過(guò)寫sql語(yǔ)句又很復(fù)雜。為此FineReport提供一種,既可加快報(bào)表的展現(xiàn)速度,又不用編寫復(fù)雜的sql語(yǔ)句的方案。即使用動(dòng)態(tài)參數(shù)注入功能。

    2. 原理

    動(dòng)態(tài)參數(shù)注入,是通過(guò)注入的值對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作的,只是取對(duì)應(yīng)的數(shù)據(jù),所以會(huì)提高報(bào)表的性能。

    3. 示例

    · 新建模板

    展現(xiàn)多個(gè)關(guān)聯(lián)數(shù)據(jù)表的數(shù)據(jù)

    SQL語(yǔ)句,ds1:SELECT * FROM [訂單]

    SQL語(yǔ)句,ds2:SELECT * FROM 訂單明細(xì)

    · 報(bào)表樣式

    傳統(tǒng)做法:先定義多個(gè)數(shù)據(jù)集,然后在報(bào)表中設(shè)置過(guò)濾條件,或使用連接將多個(gè)數(shù)據(jù)表定義成一個(gè)sql,但這兩種方案會(huì)產(chǎn)生的一系列問(wèn)題(具體下面有介紹)。而使用動(dòng)態(tài)參數(shù)注入的功能可解決大數(shù)量報(bào)表展現(xiàn)的速度,下面對(duì)比看下這三種做法。

    3.1 設(shè)置過(guò)濾

    此方法是定義兩個(gè)數(shù)據(jù)集查詢出所有數(shù)據(jù),然后在報(bào)表中設(shè)置過(guò)濾條件。

    分頁(yè)預(yù)覽query_like.cpt,從日志中可看出,是將第二個(gè)數(shù)據(jù)集中的數(shù)據(jù)全部取出了,如下所示:

    注:對(duì)于數(shù)據(jù)量大的報(bào)表,若將數(shù)據(jù)全部取出會(huì)降低報(bào)表的性能,因此會(huì)降低報(bào)表的展現(xiàn)速度。

    3.2 定義sql

    若是采用將兩個(gè)數(shù)據(jù)集定義成一個(gè)數(shù)據(jù)集,則SQL語(yǔ)句為:select a.訂單ID,訂購(gòu)日期,到貨日期,發(fā)貨日期,產(chǎn)品ID,單價(jià),數(shù)量,進(jìn)價(jià),折扣 from 訂單 a,訂單明細(xì) b where a.訂單ID=b.訂單ID

    注:當(dāng)數(shù)據(jù)集很多時(shí), 這樣定義sql很麻煩,看了也覺得很復(fù)雜。

    3.3 使用動(dòng)態(tài)參數(shù)注入

    · 修改sql語(yǔ)句

    將上述模板中,數(shù)據(jù)集ds2的sql語(yǔ)句,修改成:SELECT * FROM [訂單明細(xì)] where 訂單ID =${orderid},并將參數(shù)orderid設(shè)置個(gè)默認(rèn)值為訂單ID中的一個(gè)值,如:10248。

    · 參數(shù)注入設(shè)置

    雙擊原進(jìn)行過(guò)濾的E2單元格,在彈出數(shù)據(jù)列對(duì)話框中,點(diǎn)擊動(dòng)態(tài)參數(shù)注入按鈕,彈出動(dòng)態(tài)參數(shù)注入對(duì)話框,然后點(diǎn)擊插入:名字和值分別為數(shù)據(jù)集ds2的參數(shù):orderid和數(shù)據(jù)集ds1對(duì)應(yīng)數(shù)據(jù)列所在的單元格:A2,且同時(shí)刪除過(guò)濾條件。

    點(diǎn)擊設(shè)計(jì)器預(yù)覽是,日志中可看出每執(zhí)行一行就只是取出的對(duì)應(yīng)訂單ID的那條數(shù)據(jù),如下圖所示:

     

    注:動(dòng)態(tài)參數(shù)注入功能適用于大數(shù)據(jù)量報(bào)表,能夠明顯的體現(xiàn)出速度優(yōu)勢(shì),而上文中的模板只是介紹其方法的。

     

     




    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 99re这里有免费视频精品 | 亚洲人成无码网站久久99热国产| 亚洲乱码卡一卡二卡三| 麻豆成人久久精品二区三区免费| 亚洲Av永久无码精品三区在线| 久久国产精品国产自线拍免费| 久久精品国产精品亚洲蜜月| 午夜免费福利视频| 亚洲精品**中文毛片| 青青视频观看免费99| 中文字幕亚洲综合小综合在线| 在线精品免费视频| 日本精品久久久久久久久免费 | 日本免费的一级v一片| 色噜噜噜噜亚洲第一| 亚洲日韩国产精品乱| 男人都懂www深夜免费网站| 亚洲国产综合专区电影在线| 我的小后妈韩剧在线看免费高清版| 亚洲不卡中文字幕| 国产猛烈高潮尖叫视频免费| 一级毛片视频免费| 久久亚洲AV无码精品色午夜麻豆| 免费99精品国产自在现线| 国产AV无码专区亚洲AV蜜芽| 国产美女亚洲精品久久久综合| 一级做a爰全过程免费视频| 91亚洲国产成人久久精品| 日本特黄特黄刺激大片免费| a在线观看免费网址大全| 亚洲国产成人精品无码区在线秒播| 免费网站看v片在线香蕉| 午夜免费国产体验区免费的| 久久亚洲国产成人亚| 黄a大片av永久免费| 久久精品成人免费看| 亚洲日韩国产AV无码无码精品| 三上悠亚亚洲一区高清| 2021久久精品免费观看| 国产福利免费视频| 天天爽亚洲中文字幕|