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

請問TCustomClientDataSet.MergeChangeLog如何使用?

答題得分者是:Justmade
ying0515
中階會員


發表:90
回覆:168
積分:81
註冊:2003-01-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-29 08:27:21 IP:61.218.xxx.xxx 未訂閱
請問TCustomClientDataSet.MergeChangeLog如何使用? 用在什麼地方? Delphi follower
------
Delphi
Justmade
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-29 08:51:13 IP:218.16.xxx.xxx 未訂閱
在 ClientDataSet 的機制裡 讀入的數據是放在 Data 裡而所有改動是放在 Delta 裡(亦即 ChangeLog),存在 Delta 裡的資料是未回傳數據庫的 針對這些改動可做的動作主要有 : 1. ApplyUpdate - 將改動回傳數據庫,更新 Data,清空 Delta 2. CancelUpdate - 取消所有更動,清空 Delta 3. MergeChangeLog - 不將更動回傳數據庫,但更新Data,清空 Delta MergeChangeLog 的主要用途是 1. 當 CDS 不是連到背後數據庫而只使用File來存資料時 使用File存檔時仍是會將Data與Delta 分開處理的,所以Delta 會越來越大及沒效率,當不會回傳數據庫不能用 ApplyUpdate,可以用 MergeChangeLog 將變更寫入Data及清空 Delta 2. 當從數據庫讀入資料後資料可更動但所有更動都不會回傳時,亦可以 MergeChangeLog 來增加效率
ying0515
中階會員


發表:90
回覆:168
積分:81
註冊:2003-01-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-29 09:37:09 IP:61.218.xxx.xxx 未訂閱
下列為ClientDataSet.Delta資料
no    cus_no   qty
A001  C001     100  <--- usUnmodified
null  C002     40   <--- usModified
A002  C004     50   <--- usDeleted
A003  C005     60   <--- usInserted
請問小弟要針對新增,修改,刪除資料產生SQL更新資料庫,
Delta修改狀態資料會有兩筆,如何將他合併為一筆?         
Delphi follower
------
Delphi
系統時間:2024-11-23 8:18:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!