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

ClientDataSet的Delta問題

答題得分者是:wuabc
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-11 01:09:55 IP:211.74.xxx.xxx 未訂閱
請問各位高手: 我現在有個問題相當棘手 就是我想要將在Client有異動過的資料存下來 也就是說要將ClientDataSet的Delta的資料存下來(這步驟没問題) 但是真正的問題在此 資料Applyupdate以後 我要將存檔後的Delta的資料 傳給另一個AP Server 但是在ClientDataSet的Delta的屬性是唯讀的 所以我就没辦法用原來ClientDataSet的ApplyUpdate機制了 請問各位高手 有什麼辦法可以將資料塞到ClientDataSet的Delta中 或是其他更好的辦法
Jasonwong
版主


發表:49
回覆:931
積分:581
註冊:2006-10-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-11 08:47:29 IP:211.23.xxx.xxx 未訂閱
你可以在存檔前將異動後的資料用以下方式傳給另一個CLIENTDATASET CLIENTDATASET1.DATA:= CLIENTDATASET2.Delta; 如此你便可以下達 Applyupdate 將異動後的資料存入另一個APServer -- 聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-11 17:00:30 IP:211.74.xxx.xxx 未訂閱
Jasonwong兄: 但是ClientDataSet在下Applyupdate後 是將Delta資料傳回給AP Server而不是傳Data 所以 CLIENTDATASET1.DATA:= CLIENTDATASET2.Delta; 只是將Delta傳給Data而已, 對CLIENTDATASET1而言Delta是空的 所以ApplyUpdate也不會有動作才對不是嗎 請不吝指教
Perva
一般會員


發表:13
回覆:9
積分:4
註冊:2003-03-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-01 09:28:44 IP:61.168.xxx.xxx 未訂閱
这实际上是个公文包问题,delphi说可以解决。但存回数据库怎么操作,这个关键问题,我一直未能解决,希望Jack0323兄解决后能拉兄弟一把,在此谢过。
wuabc
初階會員


發表:6
回覆:60
積分:33
註冊:2002-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-02 21:30:53 IP:203.204.xxx.xxx 未訂閱
可以考慮在AP Server改用TProvider,TProvider.ApplyUpdates正是接收Delta去異動資料庫的
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-02 23:35:03 IP:211.74.xxx.xxx 未訂閱
謝謝wuabc大大回答 我主要是要異動二個APServer 就是原本的ClientDataSet ApplyUpdate後 又要將這一個異動的Delta丟給另一台APServer 做異動用 所以才這麼麻煩
Justmade
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-02 23:48:45 IP:218.16.xxx.xxx 未訂閱
這個應可在 ApplyUpdate 前 SaveToFile, ApplyUpdate 進第一個 Server 後再 連上第二個 Server, LoadFromFile 再 ApplyUpdate 即可。 只要你以前沒 MergeChangeLog, SaveToFile 後還是 Data 與 Delta 分開放的。
wuabc
初階會員


發表:6
回覆:60
積分:33
註冊:2002-10-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-03 00:29:53 IP:203.204.xxx.xxx 未訂閱
引言: 謝謝wuabc大大回答 我主要是要異動二個APServer 就是原本的ClientDataSet ApplyUpdate後 又要將這一個異動的Delta丟給另一台APServer 做異動用 所以才這麼麻煩
在AP Server創建一個function來接收此Delta,此function接受Delta後即可使用TProvider.ApplyUpdates異動資料何麻煩之有,否則,如Justmade兄說的以離線處理方式亦可以輕易解決!
Jack0323
初階會員


發表:22
回覆:70
積分:28
註冊:2002-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-03 08:48:01 IP:211.74.xxx.xxx 未訂閱
謝謝各位 大大的回答 我先試試看再來回應測試結果
系統時間:2024-03-28 23:59:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!