要如何即時傳回一個值知道目前資料庫load了多少.. |
尚未結案
|
franksyon
一般會員 發表:5 回覆:10 積分:3 註冊:2003-05-30 發送簡訊給我 |
請教各位大大...
小弟有一個資料庫...裡面都是圖形,所以資料很大...
當我開啟連接的時候,可能需要10秒左右,才可把資料連線回來..
因為只是要讀取資料,所以便把Query1->RequestLive設定成false;
可是,在這個10秒的時間中,可有語法,可即時的將資料load的程度回傳
因為小弟想做一個進度棒..來顯示百分比
可以讓本地端的電腦資到目前的load 進度...
前提是要.Query1->RequestLive->false;
我該如何寫呢,要寫在哪呢,Query1 的事件裡面ㄇ..還是??
會不會是Query1 的 OnCalcFields 事件??
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
franksyon, 您好
可以試試把code寫在Query1的AfterScroll。
以下是我測試的code,供您參考。
ProgressBar1->Max = Query1->RecordCount; for(int i = 1; i <= Query1->RecordCount; i ) ProgressBar1->Position = i;================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 |
franksyon
一般會員 發表:5 回覆:10 積分:3 註冊:2003-05-30 發送簡訊給我 |
謝謝tech_state大大的方法
弟有試過了,可是....
他並不會即時回傳....
他是等資料讀完之後才回傳的
也就是說,讀完之後,才執行
ProgressBar1->Max = Query1->RecordCount;
for(int i = 1; i <= Query1->RecordCount; i )
ProgressBar1->Position = i;
如過資料庫大的話,一樣式靜止不動的,有點向障眼法...^^b
我先宣告一個全域 int u;
然後在SQL的每個事件都加上一個u ;
結果u的值最多只是1;
也就是說這些事件,在讀取資料的這段時間,最多只動一下...阿咧..真糟糕..
不知還有沒有其他的方法...^^"
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |