क्लाइंटडेटासेट के लिए आफ्टरपोस्ट इवेंट हैंडलर में, मुझे वर्तमान रिकॉर्ड के लिए ApplyUpdates फ़ंक्शन अपडेट या डालने के लिए जानकारी चाहिए।मैं कैसे पता लगा सकता हूं कि ApplyUpdates डेटा डालें या अपडेट करेगा या नहीं?
आफ्टरपोस्ट ईवेंट नए और अद्यतन रिकॉर्ड के लिए निष्पादित किया जाएगा, और मैं एक नया अपडेट वैरिएबल घोषित नहीं करना चाहता हूं यह इंगित करने के लिए कि 'अपडेट' या 'डालने' ऑपरेशन प्रगति पर है या नहीं।
उदाहरण कोड: ApplyUpdate पूरा कर लिया है के बाद
procedure TdmMain.QryTestAfterPost(DataSet: TDataSet);
begin
if IsInserting(QryTest) then
// ShowMessage('Inserting')...
else
// ShowMessage('Updating');
QryTest.ApplyUpdates(-1);
end;
आवेदन, AfterPost विधि में एक लॉग लिखेंगे। तो यह विधि वह जगह है जो कार्रवाई के सबसे नज़दीक है, मैं एक ऐसा समाधान पसंद करूंगा जो इस घटना हैंडलर में पूरी तरह से डाला जा सके।
क्लाइंटडेटासेट उदाहरण QryTest में जानकारी का उपयोग करके, IInserting फ़ंक्शन को मैं कैसे कार्यान्वित कर सकता हूं?
संपादित करें: मैं ClientDataSet.UpdateStatus को आजमाउंगा जो here समझाया गया है।
आप क्या करने की योजना बना रहे हैं? सत्यापन करें, उपयोगकर्ता इंटरफ़ेस अपडेट करें या कुछ डेटा मैनिपुलेशन करें? – zendar
आवेदन अद्यतन पूरा होने के बाद, एप्लिकेशन AfterPost विधि में एक लॉग लिख देगा। तो यह विधि वह जगह है जो कार्रवाई के सबसे नज़दीक है, मैं एक ऐसा समाधान पसंद करूंगा जो इस घटना हैंडलर में पूरी तरह से डाला जा सके। यहां डेल्टा सरणी की जांच करना सबसे आसान तरीका प्रतीत होता है। – mjn
यदि आप क्लाइंट साइड पर प्रति उपयोगकर्ता लॉग करते हैं तो यह सबसे अच्छी जगह है। यदि आप सभी उपयोगकर्ताओं के लिए केंद्रीय लॉग करना चाहते हैं, तो TDataSetProvider पर AfterApplyUpdates ईवेंट में सर्वर की तरफ बेहतर जगह होगी। – zendar