डेटा एडेप्टर और डेटा रीडर | DataAdapter and DataReader
Table of content (TOC)
अब जब हमारे पास एक ऑब्जेक्ट है जो डिस्कनेक्टेड डेटा रखता है और विभिन्न प्रकार के ऑब्जेक्ट्स का एक गुच्छा उपलब्ध है जो विभिन्न प्रकार के ट्रांसनेशनल और पैरामीटरेटेड कमांड को निष्पादित करने और डिस्कनेक्ट किए गए डेटा से कनेक्ट करने के लिए उपलब्ध है, अब हमें डेटा को अंतर्निहित डेटा से प्राप्त करना होगा। स्रोत। दो तरीके हैं जिनका उपयोग किया जा सकता है। इन दोनों विधियों में मुख्य अंतर यह है कि ये दोनों विधियां कितनी देर तक संबंध को खुला रखती हैं।
पहली विधि के तहत, हम DataReader ऑब्जेक्ट का उपयोग करते हैं, जिसके लिए उत्पन्न परिणाम प्राप्त करने के लिए एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। सिंगल यूजर होने की स्थिति में यह तरीका काफी तेज गति से काम करता है। लेकिन जब कई उपयोगकर्ता इस तरह से एक्सेस किए जा रहे डेटा का उपयोग करते हैं, तो यह विधि कनेक्शन पूलिंग को बहुत प्रभावित करती है।
दूसरी विधि के तहत, हम DataAdapter ऑब्जेक्ट का उपयोग करते हैं। यह ऑब्जेक्ट थोड़े अलग तरीके से काम करता है, जिसमें यह ऑब्जेक्ट कमांड को डेटासेट या डेटाटेबल ऑब्जेक्ट में निष्पादित करने के बाद उत्पन्न परिणाम को भरता है, जो एक प्रकार का डिस्कनेक्टेड कैश है।
एक बार जब यह किसी उपयुक्त ऑब्जेक्ट में ऑब्जेक्ट कमांड के सक्रिय होने के बाद उत्पन्न सभी डेटा को भर देता है, उसके बाद यह अंतर्निहित डेटा स्रोत से स्वयं को डिस्कनेक्ट कर देता है। जिससे उस अंतर्निहित भौतिक कनेक्शन को किसी अन्य वस्तु द्वारा पुन: उपयोग किया जा सकता है।
DbDataReader – To Fetch Data in Connected Way
कुछ कमांड डेटा लाते हैं, कुछ कमांड डेटा में हेरफेर करते हैं जबकि कुछ कमांड दोनों करते हैं। इस वजह से, कमांड को निष्पादित करने के लिए DbCommand में कई तरीके हैं।
उदाहरण के लिए, DbCommand ऑब्जेक्ट में ExecuteNonQuery() नामक एक विधि है जो कमांड निष्पादित होने पर प्रभावित होने वाली पंक्तियों की कुल संख्या देता है। इसी तरह DbCommand हमें ExecuteReader () नाम की एक और विधि प्रदान करता है, जिसका उपयोग तब किया जाता है जब हम परिणामसेट जैसी क्वेरी का परिणाम प्राप्त करना चाहते हैं।
जबकि DbCommand की ExecuteReader () विधि एक ऑब्जेक्ट देता है जो DbDataReader वर्ग से विरासत में मिला है। जहां DbDataReader एक सामान्य सार बेस क्लास है और किसी भी डेटा रीडर क्लास को इसे इनहेरिट करने की आवश्यकता होती है। इस व्यवस्था को हम निम्नलिखित आरेख द्वारा बेहतर ढंग से समझ सकते हैं:
जब हमारे पास DataReader ऑब्जेक्ट होता है, तो हम इसके साथ विभिन्न तरीकों का उपयोग कर सकते हैं, रिटर्न किए गए परिणामसेट के विभिन्न रिकॉर्ड्स पर पुनरावृति कर सकते हैं और वर्तमान स्थिति के रिकॉर्ड के विभिन्न कॉलम के मूल्यों को पढ़ सकते हैं।
यहां यह नोट करना महत्वपूर्ण है कि डेटा रीडर एक रीड-ओनली या फॉरवर्ड-ओनली ऑब्जेक्ट है, जो एक ही स्थिति में काम करता है, जबकि अंतर्निहित भौतिक डेटाबेस कनेक्शन खुला है।
DbDataAdapter – Bridge between Connected and Disconnected
जैसा कि हम ऊपर दिए गए चित्र में देख सकते हैं कि SqlCommand और OracleCommand नाम के दो वर्ग हैं और दोनों वर्ग DbCommand नामक वर्ग से विरासत में मिले हैं।
डेटा एडेप्टर वर्ग को सामान्य तरीके से काम करने के लिए, विभिन्न DbCommands जैसे InsertCommand, UpdateCommand, DeleteCommand और SelectCommand की आवश्यकता होती है जो क्रमशः INSERT, UPDATE, DELETE और SELECT नामक SQL संचालन का प्रतिनिधित्व करते हैं। DbDataAdapter नाम का बेस क्लास, इन चार कमांड को DbCommand डेटा प्रकार के चार गुणों के रूप में परिभाषित करता है।
SqlDataAdapter, OracleDataAdapter आदि। अन्य विशिष्ट डेटा एडेप्टर, ADO.NET कनेक्टेड ऑब्जेक्ट्स के समान, इन चार कमांडों को इन्सर्ट कमांड, अपडेट कमांड, DeleteCommand और SelectCommand को चार गुणों के रूप में प्रदान करते हैं, जो डेटा प्रदाता विशिष्ट कमांड ऑब्जेक्ट जैसे SqlCommand और OracleCommand हैं। मान के रूप में स्वीकार करें।
Final Words
तो दोस्तों आपको हमारी पोस्ट कैसी लगी! शेयरिंग बटन पोस्ट के नीचे इसे अपने दोस्तों के साथ शेयर करना न भूलें। इसके अलावा अगर बीच में कोई परेशानी हो तो कमेंट बॉक्स में पूछने में संकोच न करें। आपकी सहायता कर हमें खुशी होगी। हम इससे जुड़े और भी पोस्ट लिखते रहेंगे। तो अपने मोबाइल या कंप्यूटर पर हमारे ब्लॉग "various info: Education and Tech" को बुकमार्क (Ctrl + D) करना न भूलें और अपने ईमेल में सभी पोस्ट प्राप्त करने के लिए हमें अभी सब्सक्राइब करें।
अगर आपको यह पोस्ट अच्छी लगी हो तो इसे अपने दोस्तों के साथ शेयर करना ना भूलें। आप इसे व्हाट्सएप, फेसबुक या ट्विटर जैसी सोशल नेटवर्किंग साइटों पर साझा करके अधिक लोगों तक पहुंचने में हमारी सहायता कर सकते हैं। शुक्रिया!