डेटा एडेप्टर और डेटा रीडर | DataAdapter and DataReader

Ashok Nayak
0

डेटा एडेप्टर और डेटा रीडर | DataAdapter and DataReader

डेटा एडेप्टर और डेटा रीडर | DataAdapter and DataReader

अब जब हमारे पास एक ऑब्जेक्ट है जो डिस्कनेक्टेड डेटा रखता है और विभिन्न प्रकार के ऑब्जेक्ट्स का एक गुच्छा उपलब्ध है जो विभिन्न प्रकार के ट्रांसनेशनल और पैरामीटरेटेड कमांड को निष्पादित करने और डिस्कनेक्ट किए गए डेटा से कनेक्ट करने के लिए उपलब्ध है, अब हमें डेटा को अंतर्निहित डेटा से प्राप्त करना होगा। स्रोत। दो तरीके हैं जिनका उपयोग किया जा सकता है। इन दोनों विधियों में मुख्य अंतर यह है कि ये दोनों विधियां कितनी देर तक संबंध को खुला रखती हैं।

पहली विधि के तहत, हम DataReader ऑब्जेक्ट का उपयोग करते हैं, जिसके लिए उत्पन्न परिणाम प्राप्त करने के लिए एक खुले और उपलब्ध कनेक्शन की आवश्यकता होती है। सिंगल यूजर होने की स्थिति में यह तरीका काफी तेज गति से काम करता है। लेकिन जब कई उपयोगकर्ता इस तरह से एक्सेस किए जा रहे डेटा का उपयोग करते हैं, तो यह विधि कनेक्शन पूलिंग को बहुत प्रभावित करती है।

दूसरी विधि के तहत, हम DataAdapter ऑब्जेक्ट का उपयोग करते हैं। यह ऑब्जेक्ट थोड़े अलग तरीके से काम करता है, जिसमें यह ऑब्जेक्ट कमांड को डेटासेट या डेटाटेबल ऑब्जेक्ट में निष्पादित करने के बाद उत्पन्न परिणाम को भरता है, जो एक प्रकार का डिस्कनेक्टेड कैश है।

एक बार जब यह किसी उपयुक्त ऑब्जेक्ट में ऑब्जेक्ट कमांड के सक्रिय होने के बाद उत्पन्न सभी डेटा को भर देता है, उसके बाद यह अंतर्निहित डेटा स्रोत से स्वयं को डिस्कनेक्ट कर देता है। जिससे उस अंतर्निहित भौतिक कनेक्शन को किसी अन्य वस्तु द्वारा पुन: उपयोग किया जा सकता है।

Table of content (TOC)

DbDataReader – To Fetch Data in Connected Way

कुछ कमांड डेटा लाते हैं, कुछ कमांड डेटा में हेरफेर करते हैं जबकि कुछ कमांड दोनों करते हैं। इस वजह से, कमांड को निष्पादित करने के लिए DbCommand में कई तरीके हैं।

उदाहरण के लिए, DbCommand ऑब्जेक्ट में ExecuteNonQuery() नामक एक विधि है जो कमांड निष्पादित होने पर प्रभावित होने वाली पंक्तियों की कुल संख्या देता है। इसी तरह DbCommand हमें ExecuteReader () नाम की एक और विधि प्रदान करता है, जिसका उपयोग तब किया जाता है जब हम परिणामसेट जैसी क्वेरी का परिणाम प्राप्त करना चाहते हैं।

जबकि DbCommand की ExecuteReader () विधि एक ऑब्जेक्ट देता है जो DbDataReader वर्ग से विरासत में मिला है। जहां DbDataReader एक सामान्य सार बेस क्लास है और किसी भी डेटा रीडर क्लास को इसे इनहेरिट करने की आवश्यकता होती है। इस व्यवस्था को हम निम्नलिखित आरेख द्वारा बेहतर ढंग से समझ सकते हैं:

जब हमारे पास DataReader ऑब्जेक्ट होता है, तो हम इसके साथ विभिन्न तरीकों का उपयोग कर सकते हैं, रिटर्न किए गए परिणामसेट के विभिन्न रिकॉर्ड्स पर पुनरावृति कर सकते हैं और वर्तमान स्थिति के रिकॉर्ड के विभिन्न कॉलम के मूल्यों को पढ़ सकते हैं।

यहां यह नोट करना महत्वपूर्ण है कि डेटा रीडर एक रीड-ओनली या फॉरवर्ड-ओनली ऑब्जेक्ट है, जो एक ही स्थिति में काम करता है, जबकि अंतर्निहित भौतिक डेटाबेस कनेक्शन खुला है।

इसे भी पढ़े- Bio computer क्या है? इन्सान के दिमाग के बारे में क्या क्या पता चलेगा? पूरी जानकारी | 

DbDataAdapter – Bridge between Connected and Disconnected

डेटा एडेप्टर ऑब्जेक्ट एक ब्रिज ऑब्जेक्ट है, जो ADO.NET के डिस्कनेक्टेड पार्ट और कनेक्टेड पार्ट के बीच मौजूद होता है और दोनों के बीच कम्युनिकेशन का माध्यम बन जाता है।

चूंकि डेटा एडेप्टर ऑब्जेक्ट का वास्तविक कार्यान्वयन पूरी तरह से अंतर्निहित डेटा स्रोत पर आधारित है, इसलिए यदि MSSQL सर्वर का उपयोग बैकएंड के रूप में किया जा रहा है, तो ADO.NET के कनेक्टेड और डिस्कनेक्ट किए गए भागों को संप्रेषित करने के लिए SqlDataAdapter की आवश्यकता होती है। जबकि यदि Oracle सर्वर को बैकएंड के रूप में उपयोग किया जा रहा है, तो ADO.NET के कनेक्टेड और डिस्कनेक्टेड भागों को संचार के लिए प्राप्त करने के लिए OracleDataAdapter की आवश्यकता होती है।

जबकि अगर हमें ODBC या OleDb के माध्यम से जेनेरिक एक्सेस की आवश्यकता है, तो हमें OdbcDataAdapter और OleDbDataAdapter जैसे जेनेरिक डेटा एडेप्टर के माध्यम से ADO.NET के कनेक्टेड और डिस्कनेक्टेड भागों के बीच संचार स्थापित करना होगा।

साथ ही, ADO.NET ऑब्जेक्ट के अन्य कनेक्टेड भागों की तरह, विभिन्न डेटा एडेप्टर के बीच समानता को लागू करने की सुविधा DbDataAdapter वर्ग के माध्यम से उपलब्ध है, जिसे हम निम्नलिखित चित्र द्वारा बेहतर ढंग से समझ सकते हैं:
डेटा एडेप्टर और डेटा रीडर | DataAdapter and DataReader

जैसा कि हम ऊपर दिए गए चित्र में देख सकते हैं कि SqlCommand और OracleCommand नाम के दो वर्ग हैं और दोनों वर्ग DbCommand नामक वर्ग से विरासत में मिले हैं।

डेटा एडेप्टर वर्ग को सामान्य तरीके से काम करने के लिए, विभिन्न DbCommands जैसे InsertCommand, UpdateCommand, DeleteCommand और SelectCommand की आवश्यकता होती है जो क्रमशः INSERT, UPDATE, DELETE और SELECT नामक SQL संचालन का प्रतिनिधित्व करते हैं। DbDataAdapter नाम का बेस क्लास, इन चार कमांड को DbCommand डेटा प्रकार के चार गुणों के रूप में परिभाषित करता है।

SqlDataAdapter, OracleDataAdapter आदि। अन्य विशिष्ट डेटा एडेप्टर, ADO.NET कनेक्टेड ऑब्जेक्ट्स के समान, इन चार कमांडों को इन्सर्ट कमांड, अपडेट कमांड, DeleteCommand और SelectCommand को चार गुणों के रूप में प्रदान करते हैं, जो डेटा प्रदाता विशिष्ट कमांड ऑब्जेक्ट जैसे SqlCommand और OracleCommand हैं। 

डेटा एडेप्टर और डेटा रीडर दो अलग-अलग प्रोग्रामिंग कंपोनेंट्स हैं जो डेटा प्रोसेसिंग एप्लीकेशन्स में उपयोग किए जाते हैं। ये दोनों कंपोनेंट्स डेटा के स्रोत से डेटा को पढ़ते हैं और उसे डेटा प्रोसेसिंग कंपोनेंट्स को उपलब्ध कराते हैं।


डेटा एडेप्टर एक प्रोग्रामिंग कंपोनेंट है जो एक स्रोत से डेटा को पढ़ता है और उसे डेटा प्रोसेसिंग एप्लीकेशन को उपलब्ध कराता है। यह डेटा को अलग-अलग फॉर्मेट में पढ़ सकता है, जैसे CSV, Excel फाइल, JSON, XML, डेटाबेस और अन्य स्रोत। डेटा एडेप्टर एक अनुकूल इंटरफेस प्रदान करता है जिससे डेटा प्रोसेसिंग कंपोनेंट्स डेटा को आसानी से पढ़ सकते हैं।


डेटा रीडर भी एक प्रोग्रामिंग कंपोनेंट है जो डेटा स्रोत से डेटा को पढ़ता है और उसे डेटा प्रोसेसिंग कंपोनेंट्स को उपलब्ध कराता है। यह डेटा को एक निश्चित फॉर्मेट में पढ़ता है, जैसे CSV, Excel फाइल, JSON, XML, डेटाबेस और अन्य स्रोत।

डेटा रीडर एक संगठित तरीके से डेटा को पढ़ता है और उसे एक निश्चित फॉर्मेट में प्रदर्शित करता है ताकि डेटा प्रोसेसिंग कंपोनेंट्स उसे आसानी से समझ सकें। डेटा रीडर की मुख्य फायदा यह है कि वह डेटा को संगठित करता है जिससे कि उसे डेटा प्रोसेसिंग कंपोनेंट्स को आसानी से पढ़ा जा सके।


अन्य तरफ, डेटा एडेप्टर एक जनरल पर्पज कंपोनेंट होता है जो डेटा को पढ़ने और डेटा प्रोसेसिंग कंपोनेंट्स को उसे उपलब्ध कराने के लिए उपयोग किया जाता है। इसके बावजूद, डेटा एडेप्टर और डेटा रीडर दोनों के बीच एक अंतर है। डेटा एडेप्टर डेटा को पढ़ने और उसे उपलब्ध कराने के लिए एक जनरल स्क्रिप्टिंग कंपोनेंट होता है, जो डेटा स्रोत को समझने और उसे डेटा प्रोसेसिंग कंपोनेंट्स को सही फॉर्मेट में प्रदर्शित करने के लिए उपयोग किया जाता है।


अन्य कुछ प्रश्न निम्नलिखित हैं:

  • डेटा एडेप्टर और डेटा रीडर में क्या अंतर है?
  • क्या एक ही डेटा एडेप्टर विभिन्न फॉर्मेट में डेटा पढ़ सकता है?
  • क्या डेटा रीडर सिर्फ डेटा को पढ़ने के लिए होता है या उसे प्रोसेस करने के लिए भी उपयोग किया जा सकता है?
  • क्या डेटा एडेप्टर और डेटा रीडर केवल स्ट्रिंग डेटा के लिए होते हैं या वे फ़ाइल या डेटाबेस से भी डेटा पढ़ सकते हैं?
  • क्या डेटा एडेप्टर और डेटा रीडर किसी भी प्रोग्रामिंग भाषा में उपलब्ध हैं या कुछ विशेष भाषाओं में होते हैं?

Final Words

तो दोस्तों आपको हमारी पोस्ट कैसी लगी! शेयरिंग बटन पोस्ट के नीचे इसे अपने दोस्तों के साथ शेयर करना न भूलें। इसके अलावा अगर बीच में कोई परेशानी हो तो कमेंट बॉक्स में पूछने में संकोच न करें। आपकी सहायता कर हमें खुशी होगी। हम इससे जुड़े और भी पोस्ट लिखते रहेंगे। तो अपने मोबाइल या कंप्यूटर पर हमारे ब्लॉग "various info: Education and Tech" को बुकमार्क (Ctrl + D) करना न भूलें और अपने ईमेल में सभी पोस्ट प्राप्त करने के लिए हमें अभी सब्सक्राइब करें। 

अगर आपको यह पोस्ट अच्छी लगी हो तो इसे अपने दोस्तों के साथ शेयर करना ना भूलें। आप इसे व्हाट्सएप, फेसबुक या ट्विटर जैसी सोशल नेटवर्किंग साइटों पर साझा करके अधिक लोगों तक पहुंचने में हमारी सहायता कर सकते हैं। शुक्रिया!

Post a Comment

0 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.

If you liked the information of this article, then please share your experience by commenting. This is very helpful for us and other readers. Thank you

If you liked the information of this article, then please share your experience by commenting. This is very helpful for us and other readers. Thank you

Post a Comment (0)

Our website uses cookies to enhance your experience. Learn More
Accept !

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

×