ClientDataSet 簡單範例 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
最近比較多用 ClientDataSet ,覺得它真是滿好用的,很多以前用 TTable / TQuery 很難做的東東都可以簡單做到。 這個範例很簡單,只有十數行程式碼,但也示範了 ClientDataSet 的一些基本功能,和配合 DBGrid 的使用,包括 : 1. 動態的記錄序號
2. 動態計算每筆記錄的金額
3. 不讓使用者進入計算欄位
4. 不用寫程式碼動態計算總金額
5. 按DBGrid每欄的標頭即以該欄排序
6. 解決進入 DGGrid 時游標不見了的旁門方法
7. 不用數據庫只用簡單本地檔案儲存數據 需然這範例為了讓任何人都能測試而只用了本地檔案,但其他所有Delphi提供的和大部份第三者提供的 DataSet 也可以接上 TClientDataSet 來用作前端數據處理。方法是 : 1. 加入一個 TDataSetProvider, DataSet 指向你原本的 Table / Query / ADO / SQLDataSet 等等
2. 加入一個 TClientDataSet, Providername 指向剛才的 DataSetProvider 這樣就可以了。 其實 TDataSetProvider 及 TClientDataSet 還可以在兩個不同的程式不同的電腦中,經過網路(包括互聯網)互相連結,以些達成多重架構的應用程式。 當然,TClientDataSet 還有十份多的強勁功能,在此不能盡錄,有興趣的網友可考慮買些書來看看,其中李維先生寫的很多有關數據庫的書都非常值得一看。 補充 :
TClientDataSet 的異動都是沒立即存上背後數據庫的,你若要傳上數據庫,就要執行 ClientDataSet.ApplyUpdate();
至於範例中使用的 MergeChangeLog, 只適用放不用更新資料到數據庫的情況,它是把異動資料與原始資料結合來節省空間,但因為沒了獨立的異動資料記錄,再也不能 ApplyUpdate 到資料庫了。 發表人 - Justmade 於 2003/04/10 21:30:47
附加檔案:28513_CDSDemo.zip
|
sailorjoye
一般會員 發表:11 回覆:18 積分:5 註冊:2003-05-13 發送簡訊給我 |
|
jerryhung
初階會員 發表:6 回覆:46 積分:30 註冊:2002-12-11 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |