默認情況下,TClientDataSet跟蹤DataSet中所做的所有更改(插入,更新,刪除)。有沒有辦法告訴數據集接受當前的更改(在使用insert/post進行一系列插入之後,比方說),而不實際調用數據庫來保存任何內容?用作內存數據集的TClientDataSet - 是否可以在不將數據保存到數據庫的情況下應用內存中的更新?
我想到的一個想法是使用TDataSetProvider並實現BeforeUpdateRecord事件並將Applied參數設置爲true。我不喜歡這件事的兩件事。我必須再添加兩個對象(TDataSetProvider和TSQLQuery對象),並且ApplyUpdates啓動一個事務。有一種更簡單的方法嗎?
如果我沒有在TClientDataSet上設置ProviderName,則ApplyUpdates失敗。
謝謝
設置LogChanges假插入之前,或致電MergeChangeLog。或者我還沒有明白.. –
@SertacAkyuz:就是這樣。請回答,以便我可以接受您的答案作爲解決方案。 – costa
@Sertac:看起來你確實打敗了我。如果您發佈包含該信息的答案,我會刪除我的。 (我看到了這個問題和唯一的答案,但在發佈之前沒有閱讀這些評論。答案就是你的答案。) –