資料庫資料異動他台PC可馬上顯示嗎? |
尚未結案
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
後來站上尋找參考資源,我使用time來控制
procedure TForm.DBGrid1KeyUp(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
Timer1.Enabled:=True;
end; procedure TForm.Timer1Timer(Sender: TObject);
var Bok:String;
begin
TSum:=TSum 1;
if TSum = 5 then begin < 多少秒比較恰當? ?
TSum:=0;
Timer1.Enabled:=False;
Bok:=ADOQuery1.Bookmark;
ADOQuery1.Requery();
ADOQuery1.Bookmark:=Bok;
end;
end; 站上友人可否提供一點意見參考,謝謝大家
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
bestlong
站務副站長 發表:126 回覆:734 積分:512 註冊:2002-10-19 發送簡訊給我 |
用 TTime 來定期 ReOpen Table 是會對 Server 造成很大的負擔, Client 越多越明顯, 而用 INDY 元件做廣播通訊又會碰到網路架構的問題, 而且廣播後又會面臨所有 Client 通通一起來 ReOpen 的塞車瓶頸. 真要如此做的話,建議可以在 DB Server 上多建立一個 Table 記錄所有的 Table Version 用 Timestmp 欄位記錄最後更新時間, 然後修改應用程式在異動 Data 後再去更新 Table Vertion, 然後 TTime 改成比對 Client vertion 與 Server vertion 是否相同, 不同時才真的作 ReOpen Table 的動作, 這樣可以降低一些資料流量 我是雪龍
------
http://blog.bestlong.idv.tw/ http://www.bestlong.idv.tw/ http://delphi-ktop.bestlong.idv.tw/ |
ChrisChen
一般會員 發表:4 回覆:11 積分:3 註冊:2004-04-24 發送簡訊給我 |
|
nick167
中階會員 發表:86 回覆:133 積分:53 註冊:2003-02-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |