Lookup 的問題 |
尚未結案
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
請問: 如果我有兩個 ADOQuery
QMaster
FDate
FData1
FData2
FLookup1
QLookup
FDate
FLookup1 當我 Master 有一個欄位是從 QLookup 傳過來的資料
在應用程式運行中,第一次開啟 QMaster 的時候,QLookup 就會將資料抓取
如果在這當中,QLookup 裡面的 Table 被其他原因更新了
可是這時候 QLookup 的內容並不會被更新
所以 QMaster 內的 FLookup1 還是舊資料
我是否要更改 ADOQuery 內的那一個設定
或是有其他的方式可以改善 謝謝!! Eric Lin
------
Eric Lin |
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
如果要達到及時更新的話,你的 QLookup 要使用 dynamic cursor 而且是 server-side cursor
也就是 CursorLocation 屬性要設定為 clUseServer,
而且 CursorType 屬性要設定為 ctDynamic 不過要這樣的 cursor 有很多條件跟限制:
1. DBMS 的支援程度:是否支援 server-side cursor? 是否支援 dynamic cursor?
2. Dynamic server-side cursor 目前指到的那一筆資料有可能會被鎖定
3. Dynamic server-side cursor 目前指到的那一筆不會即時被更新
4. Dynamic server-side cursor 不支援一次顯示多筆資料
5. server-side cursor 會佔用 DBMS 比較多資源 非常麻煩!! 所以,請你記得在別的程序更新資料之後,將 QLookup close 再 open 就好了 另,適當的使用 Lookup 欄位並不會降低效能的,因為都是在記憶體中的搜尋
而且個人建議改用 ADODataSet,還可以設定 IndexFieldNames 加快搜尋速度 加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |