全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1051
推到 Plurk!
推到 Facebook!

Lookup 的問題

尚未結案
eric039
中階會員


發表:57
回覆:126
積分:51
註冊:2002-11-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-28 09:32:43 IP:202.39.xxx.xxx 未訂閱
請問: 如果我有兩個 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-28 10:42:42 IP:210.202.xxx.xxx 未訂閱
你好 建議用計算欄位的方式會比較好一點,因為之前用lookup欄位整體的效能會變得很差!!試試看吧!! Pillar Wang
------
Pillar Wang
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-30 00:17:52 IP:219.81.xxx.xxx 未訂閱
如果要達到及時更新的話,你的 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/
系統時間:2024-06-02 0:42:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!