डेल्फी के लिए नया। मैं एक ऐसा एप्लिकेशन विकसित कर रहा हूं जिसे MSSQL डेटाबेस तक पहुंचने की आवश्यकता है, ऐसा करने के लिए मैंने एक FDConnection, FDQuery और एक ग्रिड से जुड़े डेटासोर्स घटक का उपयोग किया है। इनके साथ मैं डेटा को ठीक से एक्सेस/संशोधित/हटा सकता हूं। अब अगर उदाहरण के लिए मैं ग्रिड को फ़िल्टर करना चाहता हूं, तो मैं रन-टाइम पर FDQuery घटक को बदलकर ऐसा कर सकता हूं, लेकिन मुझे यकीन नहीं है कि यह सही तरीका है या नहीं।

मैंने कुछ ऐसा उपयोग करने के बारे में सोचा है जो क्लाइंटडेटासेट जैसे मेमोरी में टेबल स्टोर करता है क्योंकि मुझे यकीन नहीं है कि FDQuery ऐसा करता है, ताकि मैं डेटा को प्रबंधित कर सकूं जिसे मैंने पहले से ही डेटाबेस को आवश्यकता से अधिक एक्सेस किए बिना पुनर्प्राप्त कर लिया है। मेरी समस्या यह है कि मुझे इनमें से किसी भी घटक की मूलभूत समझ नहीं है, इसलिए मेरा प्रश्न है:

क्या मुझे FDQuery के अलावा किसी और चीज़ का उपयोग करने की ज़रूरत है?

मैं जो बना रहा हूं उस पर थोड़ा और संदर्भ: यूनीगुई वेब एप्लिकेशन, उसी लैन में एमएसएसक्यूएल सर्वर के साथ वेब सर्वर, और डीबी तक एकाधिक उपयोगकर्ता पहुंच।

2
Thomas Gonzalez 9 फरवरी 2021, 17:41
एक मेमोरी टेबल सर्वर से कनेक्ट नहीं है। आप इसे मैन्युअल रूप से पॉप्युलेट करते हैं।
 – 
Olivier
9 फरवरी 2021, 19:51
1
मैंने इस क्यू को एसओ पर ऑफ-विषय के रूप में बंद करने के लिए मतदान किया है क्योंकि यह वास्तव में FIreDAC और असंबंधित TClientDataSet का उपयोग करके डीबी एक्सेस पर एक ट्यूटोरियल मांग रहा है। TFDQuery और TFDTable मूल रूप से डेल्फी के मूल संस्करण में समानांतर TQuery और TTable हैं - जहां उनके बीच के अंतरों को समझाने वाले किसी भी संख्या में कागजात और ट्यूटोरियल, googling का प्रयास करें। TFDMemTable और TClientDataSets मूल रूप से इन-मेमोरी डेटासेट हैं, फिर से उनके उपयोगों के स्पष्टीकरण के लिए Google। TClientDataset को मूल रूप से TDatasetProvider के साथ [cont] उपयोग करने के लिए डिज़ाइन किया गया था
 – 
MartynA
9 फरवरी 2021, 20:17
1
... SQL डेटाबेस के साथ काम करने की एक विधि (जो फ़ायरडीएसी की पूर्व-तारीख है) को कार्यान्वित करें जिसके लिए सर्वर को लाइव, अद्यतन करने योग्य परिणाम सेट प्रदान करने की आवश्यकता नहीं थी और "फ़ायरहोज" कर्सर के साथ उपयोग किया जा सकता था। ये विषय एक प्रश्नोत्तर में संबोधित करने के लिए बहुत व्यापक हैं, इसलिए आपका क्यू बंद होना चाहिए।
 – 
MartynA
9 फरवरी 2021, 20:22
आई सुगेस्ट द बुक: डेल्फी/काइलिक्स डाटाबेस डेवलपमेंट (एरिक हार्मन)। इस तरह आप बेहतर तरीके से जान पाएंगे कि ClientDataSet का उपयोग कैसे किया जाता है। आपका प्रश्न थोड़ा हटकर विषय है, आपको ट्यूटोरियल की आवश्यकता है।
 – 
Roberto Novakosky
15 फरवरी 2021, 21:38

1 उत्तर

सबसे बढ़िया उत्तर

अब जबकि मैं इन घटकों को बेहतर ढंग से समझता हूं, मुझे यह एम्बार्केडेरो के दस्तावेज़ से अक्सर पूछे जाने वाले प्रश्न यह बताता है कि मैं क्या जानना चाहता था।

Q1: क्या मैं TFDQuery का उपयोग कर सकता हूं और इसे डेटासेट प्रदाता से जोड़ सकता हूं और Embarcadero क्लाइंट डेटासेट में डेटा पुनर्प्राप्त कर सकता हूं?

ए: TFDQuery TFDMemTable, TFDTableAdapter और कई TFDCommand का मिश्रण है। तो, TFDQuery में SQL कमांड निष्पादित करने, पैरामीटर डेटा भेजने, परिणाम सेट प्राप्त करने और संग्रहीत करने, परिणाम सेट ब्राउज़ करने और डेटाबेस में परिवर्तन वापस पोस्ट करने के लिए सब कुछ है। TFDQuery + DSP + CDS का उपयोग करने का कोई कारण नहीं है।

आप TFDQuery के बजाय सीधे TFDMemTable, TFDTableAdapter और TFDCommand का उपयोग कर सकते हैं। वे अधिक लचीलापन देते हैं, लेकिन अधिक कोडिंग की भी आवश्यकता होती है। उदाहरण के लिए डेटासेट में कैश्ड अपडेट को सिंक्रोनाइज़ करें।

दूसरे शब्दों में, TFDQuery हर दिन डेटा एप्लिकेशन प्रोग्रामिंग के लिए एक इष्टतम "शॉर्टकट" है।

1
Thomas Gonzalez 16 फरवरी 2021, 16:56