可否使用 ClientDataSet 開發 BDE 2 Tier 架構的程式 ? |
缺席
|
bestlong
站務副站長 發表:126 回覆:734 積分:512 註冊:2002-10-19 發送簡訊給我 |
ClientDataSet 是ㄧ個特別的 DataSet 元件,把資料儲存在記憶體中作業,也有較多進階的功能。ㄧ般都是在多層架構下使用。
不知道是否有人在 2 Tier 的架構下使用呢 ? TTable 與 TQuery 的 RecNo 屬性不正常,曾經看過有人建議使用 ClientdataSet 來處理. 雪龍
http://bestlong.no-ip.com/
學海無涯覺無盡,勤做筆記防失憶 發表人 - bestlong 於 2005/11/21 11:52:59
------
http://blog.bestlong.idv.tw/ http://www.bestlong.idv.tw/ http://delphi-ktop.bestlong.idv.tw/ |
huwk
資深會員 發表:26 回覆:340 積分:323 註冊:2002-04-03 發送簡訊給我 |
|
bestlong
站務副站長 發表:126 回覆:734 積分:512 註冊:2002-10-19 發送簡訊給我 |
今天花了些時間測試了一下
連接 Query1 -> DataSetProvider1 -> ClientDataSet1 完成後
在 Query1.SQL.Text := 'select * from MyTable'; 執行程式 在 ClientDataSet1.PacketRecords 為 -1 時,資料量大(5000筆以上)的時候就會變的非常慢。
不過等 ClientDataSet1 接收完全部資料之後 Query1 就會 Close 釋放資源。 若是 ClientDataSet1.PacketRecords 大於 0 時,DataSetProvider1 會以批量的方式傳送 ClientDataSet1 所需要顯示到的紀錄,ㄧ直等到全部傳完才會關閉 Query1。不過 ClientDataSet1.RecordCount 的數字特性則是已接收的資料筆數。 若是在 Master/Detail 結構,則 Detail Data 打包在 Master 所關連的紀錄中成為 DataSetField,更會增加程式的負擔。 雖然解決 RecNo 的問題,卻會面臨資料操作架構的問題。 雪龍
http://bestlong.no-ip.com/
學海無涯覺無盡,勤做筆記防失憶
------
http://blog.bestlong.idv.tw/ http://www.bestlong.idv.tw/ http://delphi-ktop.bestlong.idv.tw/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |