線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1843
推到 Plurk!
推到 Facebook!

REPORT BUILDER預覽緩慢的問題

答題得分者是:kevin2004
bayman
一般會員


發表:30
回覆:35
積分:18
註冊:2007-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-12 17:03:59 IP:219.130.xxx.xxx 訂閱
用DELPHI2006 ADO 和MSSQL2000做的程式,使用REPORT BUILDER做REPORT,在預覽的時候非常緩慢(一般來說200PAGES要几分鍾才能計算完),請各位大大指示一下如何設置才能避免這種問題,謝謝!
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-14 07:32:45 IP:61.219.xxx.xxx 訂閱
200PAGES要几分鍾才能計算完
==>200頁用數分鐘的時間可能是久了點,但也可能是合理的。此時只能Show個進度作個交代了。
==>不管你是用那種ReportTool
==>如果你的報表生成時會有很多要到資料庫中作覆雜的讀取會寫入,那時間是少不了的,數分鐘有時難免
==>如果純是顯示,那就有點問題了。沒看到Code,不知道。
------
Kevin
bruce
中階會員


發表:19
回覆:121
積分:83
註冊:2002-04-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-14 08:39:28 IP:211.21.xxx.xxx 訂閱
請盡量避免在報表上做太扵複雜的運算,這樣會影響速度的。
bayman
一般會員


發表:30
回覆:35
積分:18
註冊:2007-04-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-05-15 16:41:50 IP:218.16.xxx.xxx 訂閱
謝謝二位,問題已解決,謝謝!
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-05-15 18:26:15 IP:61.219.xxx.xxx 訂閱
趕快結案吧。得分就選缺席就好。
------
Kevin
bayman
一般會員


發表:30
回覆:35
積分:18
註冊:2007-04-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-05-15 19:34:06 IP:219.132.xxx.xxx 訂閱

===================引 用 kevin2004 文 章===================
趕快結案吧。得分就選缺席就好。

我也想,但是我點“將此問題結案”沒反應呀
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-05-16 09:41:48 IP:122.124.xxx.xxx 未訂閱
按鈕左邊有個ComboBox,指定得分者,再按下按鈕便能結案
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-05-16 20:31:46 IP:61.219.xxx.xxx 訂閱
小弟無功受祿,心下難安。貼幾句個人這幾天對這個問題的思考所得,請各位指正:
1.小弟只用過QuickReport及FastReport。QuickReport是公司裏早年的主力,小弟當初也負責劃了好幾百張報表,可是QR跟Delphi綁的太緊,先天架構就有點不良。一張報表佔了不少資源,即使設為動態建立,還是會有影響。當系統日趨肥大時,一個系統中這好幾百個QR報表對系統拖累不少,甚至會拖垮系統。再加上QuickReport對DataModule牽的太緊,QRForm上的元件對TField綁的太死,不如FastReport的靈活好用及經濟,及FR以SQL-String的超級現代的作法,其差別真不是可以道里計。
2.有些很Critical的系統在某些FastReport報表中為了監督何人列印及列印那些敏感資料,會在報表每筆印製時同時逐筆將印製人及列印的資料寫入DB中。這就無法省這個工了。
3.都是到DB準備資料,其處理在AP的速度通常會快於FastReport,所以如果有必須作很複雜的SQL與處理,就先在AP中處理好,再丟到DB裏,再用個簡單的SQL丟給 FastReport去抓現成的資料,再加上前處理時加個進程顯示騙User稍安勿燥,那User對速度的『感覺』就可以快很多了。
4.如果必須到Registry或INI對FastReport報表作一些不同客戶的不同處理,那這些處理有時可以先在AP作好及用變數傳給FastReport,那速度也會快一些。
------
Kevin
編輯記錄
kevin2004 重新編輯於 2007-05-16 20:33:04, 註解 無‧
kevin2004 重新編輯於 2007-05-16 20:37:42, 註解 無‧
kevin2004
資深會員


發表:18
回覆:463
積分:416
註冊:2005-05-29

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-05-16 20:42:02 IP:61.219.xxx.xxx 訂閱
如果200頁報表是重要報表,那你就非要搞點花樣騙騙客戶了。
以Web為例,在將整個網頁的東東全抓來Client端之前,不管是抓一些就Show一些﹝騙客戶好像是快了點,但實際是更慢了﹞,或是進程顯示,或是玩真的用AJax,都可以。
總之,要讓客戶付錢最重要。
------
Kevin
系統時間:2024-04-24 10:48:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!