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

關於RevertRecord

答題得分者是:GrandRURU
bayman
一般會員


發表:30
回覆:35
積分:18
註冊:2007-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-06-28 11:22:01 IP:14.221.xxx.xxx 訂閱
在看別人寫的一段代碼,關於取消操作
OpType:=OpCancel;
FMasterDataSet.RevertRecord ;
if FOpType=OpInsert then
FMasterDataSet.EmptyDataSet;
FMasterDataSet.MergeChangeLog;
這裡的RevertRecord不就清除了Delta的數據嗎?
還MergeChangeLog這是為什麼?
GrandRURU
站務副站長


發表:234
回覆:1651
積分:1742
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-06-29 09:47:04 IP:59.120.xxx.xxx 未訂閱
1.OpType 可能為 OpInsert 這是關鍵
2.FOpType = OpInsert 時,會做 EmptyDataSet,此功能同等 Delete From Query
3.承上,清除後會產生Delete Delta log,但這可能不是原設計人的本意,故再使用 MergeChangeLog 清除 Delete Log

不過,EmptyDataSet 並不會產生 Delete Delta Log,所以也有可能是原設計人對 ClientDataSet Log 的產生機制不瞭解造成,所以 MergeChangeLog 的確可以無視。

以上

===================引 用 bayman 文 章===================

在看別人寫的一段代碼,關於取消操作

OpType:=OpCancel;

FMasterDataSet.RevertRecord ;

if FOpType=OpInsert then
FMasterDataSet.EmptyDataSet;

FMasterDataSet.MergeChangeLog;

這裡的RevertRecord不就清除了Delta的數據嗎?

還MergeChangeLog這是為什麼?

編輯記錄
GrandRURU 重新編輯於 2015-06-29 10:32:57, 註解 無‧
bayman
一般會員


發表:30
回覆:35
積分:18
註冊:2007-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-07-02 14:35:16 IP:113.102.xxx.xxx 訂閱
感謝回覆!
===================引 用 GrandRURU 文 章===================
1.OpType 可能為 OpInsert 這是關鍵
2.FOpType = OpInsert 時,會做 EmptyDataSet,此功能同等 Delete From Query
3.承上,清除後會產生Delete Delta log,但這可能不是原設計人的本意,故再使用 MergeChangeLog 清除 Delete Log

不過,EmptyDataSet 並不會產生 Delete Delta Log,所以也有可能是原設計人對 ClientDataSet Log 的產生機制不瞭解造成,所以 MergeChangeLog 的確可以無視。

以上

===================引 用 bayman 文 章===================

在看別人寫的一段代碼,關於取消操作

OpType:=OpCancel;

FMasterDataSet.RevertRecord ;

if FOpType=OpInsert then
FMasterDataSet.EmptyDataSet;

FMasterDataSet.MergeChangeLog;

這裡的RevertRecord不就清除了Delta的數據嗎?

還MergeChangeLog這是為什麼?

系統時間:2017-10-24 8:32:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!