連 MS SQL Server 要用DataSet 還是 ClientDataSet ,作法請教?? |
尚未結案
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
請教各位前輩: 連 MS SQL Server 要用DataSet 還是 ClientDataSet ?? 在Form 開啟時(如客戶基本資料,出貨單..)是否一次載入全部資料,供使用上筆,上筆瀏覽
我有看到一些系統,並不是一開始就載入資料,但能新增資料,
等要查詢時設定查詢條件後才顯示資料, 我目前也都是 Form 開啟 是就載入全部資料,
目前有新專案要作,才想是否要改變作法 ?
那要用 DataSet 還是 ClietnDataSet?? 不知各位前輩的看法如何?? 謝謝各位前輩...
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
hi,jeffreck:
我不曉得你要問的問題是什麼,我試著對你的問題做以下的解釋: 1.TClientDataSet原則上是Borland提供programmer用來實作3-tird的元件(當然,你得搭配TDataSetProvider元件).如果你的系統要做成3-tird,在Delphi裡,除了TClientDataSet,你似乎沒有其他的選擇(如果不考慮web的話).而TClientDataSet的資料從那裡來,就看你要透過何種方式去讀取到後端的資料庫了.舉個例子而言,如果你用BDE的話,那麼你TDataSetProvider連接的DataSet就是TQuery,TTable,TStoredProc等元件.如果你是用ADO連資料庫,那麼TDataSetProvider連接的DataSet就是TADOTable,TADOQuery,TADOStoredProc...等.如果你想用dbExpress,那麼TDataSetProvider連接的DataSet就是TSQLQuery,TSQLStoredProc,TSQLTable....等. 2.至於你提到from開啟,就是載入全部資料.建議您儘量不要用這種方式.在以前的c/s架構下,很多人都會用這種方式來寫.但這樣的方法對DB是個很重的負擔(您可以參考坊間很多討論3-tird架構的書籍,大概都會提到中間層的apserver儘量是無狀態物件).您可以仔細想想,大部份的form,user其實不會需要看到全部資料庫裡的資料就能完成作業.例如一個進貨資料輸入的form,其實user也許只需要看到這個月的進貨單資料即可.所以,我通常都會在form上有個月份別的button,用以讓user設定要編輯那個月份的資料.然後form裡的sql指令就只讀取該月份的資料讓使用者修改或新增,刪除.像這樣的方式,搭配TClientDataSet,可以讓系統穩定很多,也可以減少DB的負擔. 這是我目前在使用的方式,提供給您做個參考.
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |