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

关于三层下使用Lookup字段的问题

答題得分者是:jieshu
DKSoftCHS
一般會員


發表:5
回覆:13
積分:3
註冊:2004-07-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-24 15:58:59 IP:218.14.xxx.xxx 未訂閱
在三层下使用Lookup字段,需要将LookupDataSet所有的记录下载下来,耗时太多,对性能影响很大。谢问各位是怎样在三层下使用Lookup字段的。谢谢.
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-24 21:30:28 IP:61.70.xxx.xxx 未訂閱
引言: 在三层下使用Lookup字段,需要将LookupDataSet所有的记录下载下来,耗时太多,对性能影响很大。谢问各位是怎样在三层下使用Lookup字段的。谢谢.
LookupDataSet只取需要的欄位. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 廣告一下: http://www.971.idv.tw/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
pcplayer99
尊榮會員


發表:146
回覆:790
積分:632
註冊:2003-01-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-24 22:47:31 IP:219.133.xxx.xxx 未訂閱
引言: 在三层下使用Lookup字段,需要将LookupDataSet所有的记录下载下来,耗时太多,对性能影响很大。谢问各位是怎样在三层下使用Lookup字段的。谢谢.
其实,问题要综合考虑。在2层下,如果你要做 Lookup 的话,同样要把所有数据拉到客户端。 一方面,一般用来 Lookup 的数据,都不会太多。总不会在一个下拉框里有上千条数据让你去慢慢找吧? 另一方面,正如斑竹所讲,取数据只取 Lookup 那个Field的数据,当然还有KEY。其它Field就不取了。这样也减少一些数据量
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-25 12:40:07 IP:218.32.xxx.xxx 未訂閱
補充一下, 除了盡量減少 LookupDataSet 的資料量外. 若能接受, 批次取出 LookupDataSet 的資料, 可以運用 TClientDataSet 的 FetchOnDeman 與 PacketRecords Property 達成.
DKSoftCHS
一般會員


發表:5
回覆:13
積分:3
註冊:2004-07-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-26 08:35:00 IP:218.14.xxx.xxx 未訂閱
谢谢jieshu的解答。LookupDataSet只取需要的字段! pcplayer99,谢谢你为我解答,建立Lookup字段是为了在能够及时地显示这些相联系的字段内容。有时LookupDataSet里的资料也有差不多十万条记录。 Mickey,我对 FetchOnDeman 與 PacketRecords Property 还不太了解,您能为我简要的说说吗?谢谢。
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-26 09:05:10 IP:218.170.xxx.xxx 未訂閱
FetchOnDeman(Default True): 指示 ClientDateSet 當遇到 Eof 時, 自動向 Provider 再要下一個 Packet 的 Data, 若改為 False, 則變成手動呼叫 "GetNextPacket" 來取得. PacketRecords (Default -1): 一個 Packet Data 的筆數, -1 為全部.
DKSoftCHS
一般會員


發表:5
回覆:13
積分:3
註冊:2004-07-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-07-26 09:09:21 IP:218.14.xxx.xxx 未訂閱
引言: FetchOnDeman(Default True): 指示 ClientDateSet 當遇到 Eof 時, 自動向 Provider 再要下一個 Packet 的 Data, 若改為 False, 則變成手動呼叫 "GetNextPacket" 來取得. PacketRecords (Default -1): 一個 Packet Data 的筆數, -1 為全部.
谢谢您的回答。 将FetchOnDeman改为False用建立Lookup的字段。那么我应该在什么时间手工Call “GetNextPacket”来取得呢。 谢谢 發表人 - DKSoftCHS 於 2004/07/26 09:10:44
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-07-26 09:58:28 IP:218.170.xxx.xxx 未訂閱
A.....好問題.....    既然是"手工"...所以...放一個 Button...讓User 自己決定 或要求重新輸入...過濾條件(不重新下
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-07-26 11:01:13 IP:203.204.xxx.xxx 未訂閱
引言: 有时LookupDataSet里的资料也有差不多十万条记录。
我朋友的員工, 光5000多筆, 他就不想用選的了, 他要輸入關鍵字, 然後下拉時, 列出關鍵字相關的資料就好, 就比較好選了, 這是不錯的建議. 廣告一下: http://www.971.idv.tw/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
DKSoftCHS
一般會員


發表:5
回覆:13
積分:3
註冊:2004-07-24

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-07-26 11:35:29 IP:218.14.xxx.xxx 未訂閱
引言: A.....好問題..... 既然是"手工"...所以...放一個 Button...讓User 自己決定 或要求重新輸入...過濾條件(不重新下 >< face="Verdana, Arial, Helvetica"> Mickey版主谢谢您的回答! 看来我只能让用户忍受一下了。 發表人 - DKSoftCHS 於 2004/07/26 11:36:57
DKSoftCHS
一般會員


發表:5
回覆:13
積分:3
註冊:2004-07-24

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-07-26 11:42:13 IP:218.14.xxx.xxx 未訂閱
引言:
引言: 有时LookupDataSet里的资料也有差不多十万条记录。
我朋友的員工, 光5000多筆, 他就不想用選的了, 他要輸入關鍵字, 然後下拉時, 列出關鍵字相關的資料就好, 就比較好選了, 這是不錯的建議. 廣告一下: http://www.971.idv.tw/
谢谢jieshu版主您的回答 想问问 "輸入關鍵字, 然後下拉時, 列出關鍵字相關的資料就好, 就比較好選了" 我以前也想过让用户选取时根据输入的进行过滤,我以前用改变SQL的方法,发现实现不了,刚刚我看了Mickey版主的回答,是否用ClientDataSet.Filter来实现这个功能呢。 谢谢
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-07-26 11:52:52 IP:203.204.xxx.xxx 未訂閱
引言: 谢谢jieshu版主您的回答 想问问 "輸入關鍵字, 然後下拉時, 列出關鍵字相關的資料就好, 就比較好選了" 我以前也想过让用户选取时根据输入的进行过滤,我以前用改变SQL的方法,发现实现不了,刚刚我看了Mickey版主的回答,是否用ClientDataSet.Filter来实现这个功能呢。 谢谢
我是用DBValueComboBox這好像是網路抓的, 後來自己又有加一些功能, 主要是存編號, 顯示的是編號 說明, 可設成可以輸入, 也就是DropDown, 在OnDropDown事件下SQL取出關鍵字相關的資料填入DBValueComboBox. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 廣告一下: http://www.971.idv.tw/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
DKSoftCHS
一般會員


發表:5
回覆:13
積分:3
註冊:2004-07-24

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-07-26 12:01:32 IP:218.14.xxx.xxx 未訂閱
引言: 我是用DBValueComboBox這好像是網路抓的, 後來自己又有加一些功能, 主要是存編號, 顯示的是編號 說明, 可設成可以輸入, 也就是DropDown, 在OnDropDown事件下SQL取出關鍵字相關的資料填入DBValueComboBox.
谢谢您的回答 再想问一下您DBValueComboBox是一个组件吗? 在OnDropDown事件下SQL取出關鍵字相關的資料填入DBValueComboBox. 这样不是比较麻烦吗? 我有见过一个DevExpress里的DBLookupBox可以根据输入进行过滤。 谢谢
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-07-26 12:27:22 IP:203.204.xxx.xxx 未訂閱
引言: 谢谢您的回答 再想问一下您DBValueComboBox是一个组件吗? 在OnDropDown事件下SQL取出關鍵字相關的資料填入DBValueComboBox. 这样不是比较麻烦吗? 我有见过一个DevExpress里的DBLookupBox可以根据输入进行过滤。 谢谢
DBValueComboBox和DBComboBox一樣, 但多了Values屬性, 存放編號, 選好項目後欄位的值會是Values裡相對應的. 原理都一樣只是誰來做這動作, 是自己寫程式控制, 還是由元件來控制, 那你可考慮用那個元件試試. 廣告一下: http://www.971.idv.tw/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
DKSoftCHS
一般會員


發表:5
回覆:13
積分:3
註冊:2004-07-24

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-07-26 14:04:03 IP:219.130.xxx.xxx 未訂閱
谢谢大家,耐心的为我解答!
系統時間:2024-07-04 15:25:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!