線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:6622
推到 Plurk!
推到 Facebook!

ClientDataSet 簡單範例

 
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-10 21:12:06 IP:218.16.xxx.xxx 未訂閱
最近比較多用 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-16 09:09:03 IP:61.190.xxx.xxx 未訂閱
I'll learn it by heart!    凤翅天翔[h1]无比彷徨^&^~!
------
凤翅天翔,

无比彷徨!
jerryhung
初階會員


發表:6
回覆:46
積分:30
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-19 15:47:45 IP:202.39.xxx.xxx 未訂閱
5. 按DBGrid每欄的標頭即以該欄排序 想請問Justmade大一下,是否有可能作反向排序? 譬如按一下是Ascending遞增..下一次按一下就變成遞減Descending? 我用ADO可以做到了...不知道ClientDataSet是否可以說,謝謝 很感激你的教學哦,又多學了一招說 不然每次在BDE(Table,Query)裡面排序真的很麻煩說 目前用ADO的部分都可以按TitleButton就可遞增/遞減排序了
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-19 16:13:59 IP:218.16.xxx.xxx 未訂閱
有丫 看這篇加強版 : 在 DBGrid 的 Title 劃排序圖案 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=30526
系統時間:2024-05-15 5:10:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!