दिलचस्प पोस्ट
किसी VSTO ऐडिन का निवारण कैसे करें जो लोड नहीं होता है? क्या डी 3 बल लेआउट ग्राफ़ में ज़ूम करने का एक तरीका है? जावास्क्रिप्ट में एक आइफ्रेम के शरीर की सामग्री कैसे प्राप्त करें? एकाधिक सर्वर पर वायरस स्कैन चलाने के लिए PowerShell का उपयोग करें URL से Android Drawable छवियां एसवीएन – शाखा को वापस ट्रंक में विलय करने में असमर्थ – कई पेड़-संघर्ष कैसे JFrame पृष्ठभूमि पारदर्शी सेट करने के लिए, लेकिन JPanel या JLabel पृष्ठभूमि अपारदर्शी? बूटस्ट्रैप टूलटिप रंग परिवर्तित करें सभी बच्चों के अंदर विशिष्ट मूल्य के साथ संपत्ति के लिए फायरबसे कैसे पूछें नक्शा एपीआई v2 के साथ मैपफ्रैग्मेंट प्रोग्रामेटिक रूप से आरंभ करें क्या sizeof (enum) == आकार (int), हमेशा? PHP और एन्युमरेशन टुकड़ा लेनदेन एनीमेशन समाप्त होने के बाद कार्रवाई कर रहा है वेबव्यू के अंदर बाहरी वेबपेज को कैसे लोड करें Backstack में टुकड़े के साथ onSaveInstanceState का उपयोग करना?

क्या बेहतर है: डाटासेट या डाटाराइडर?

मैंने अभी इस विषय को देखा है: आंकड़े बनाम डाटासेट, लेकिन यह मेरी शक को हल नहीं किया। मुझे बेहतर बताएं, मैं डेटाबेस के साथ कनेक्शन कर रहा था और मुझे ग्रिडव्यू में परिणाम दिखाने की जरूरत थी। (जब मैंने पहले VB6 के साथ काम किया था और जब डाटासेट बहुत ही समान था तो मैं रिकॉर्डसैट का इस्तेमाल किया था, इसलिए डाटासेट का उपयोग करना अधिक आसान था।) तब एक आदमी ने मुझे बताया कि डाटासेट को सबसे अच्छा तरीका नहीं था ..

तो, क्या मैं 'DataReader' सीखना या डाटासेट का उपयोग करना चाहिए? विवरण सारणी ? पेशेवर / विपक्ष क्या हैं?

वेब के समाधान से एकत्रित समाधान "क्या बेहतर है: डाटासेट या डाटाराइडर?"

यह आपकी आवश्यकताओं पर निर्भर करता है सबसे महत्वपूर्ण मतभेदों में से एक यह है कि जब तक डेटासेट एक इन-मेमोरी ऑब्जेक्ट नहीं हो जाता तब तक डेटारेडर आपके डेटाबेस से एक खुले कनेक्शन बनाए रखेगा। यदि आप किसी DataReader पर एक नियंत्रण बाँधते हैं, तो यह अभी भी खुला है। इसके अलावा, डाटाराइडर डेटा पढ़ने के लिए केवल एक ही दृष्टिकोण है, जिसे छेड़छाड़ नहीं किया जा सकता। डेटासेट के साथ आप पीछे और आगे बढ़ सकते हैं और डेटा को व्यवस्थित कर सकते हैं जैसे कि आपको फिट दिखता है

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

दूसरी ओर यदि आपके पास डेटाबेस से पढ़ने के लिए बड़ी मात्रा में पंक्तियां होती हैं जो किसी व्यावसायिक नियम के लिए आप कुछ प्रक्रिया को सौंपते हैं, तो डेटाआरडर्ड सभी पंक्तियों के साथ एक डाटासेट को लोड करने के बजाय अधिक समझ सकता है, स्मृति लेना और संभावित रूप से प्रभावित कर सकता है scalability।

यहां एक लिंक है जो थोड़ी देर है, लेकिन अभी भी उपयोगी है: एडीओ । नेट डाटाराइडर और डाटासेट के विपरीत ।

यह मूलतः है: "जो बेहतर है: एक बाल्टी या नली?"

एक DataSet यहां बाल्टी है; यह आपको एक डिस्कनेक्ट किए गए सेट डेटा के चारों ओर ले जाने और इसके साथ काम करने की अनुमति देता है – लेकिन आप बाल्टी को ले जाने की लागत का सामना कर सकते हैं (ऐसा आकार जो आपके साथ सहज है)।

डेटा-रीडर नली है: यह एक-तरफा / केवल-बार-बार केवल डेटा तक पहुंच प्रदान करता है क्योंकि यह आपकी पिछली मक्खी है; आपको एक बार में सभी उपलब्ध पानी ले जाने की ज़रूरत नहीं है, लेकिन इसे टैप / डाटाबेस से जुड़ा होना चाहिए।

और उसी तरह कि आप एक नली के साथ एक बाल्टी भर सकते हैं, आप DataSet को डाटा-रीडर के साथ भर सकते हैं।

मैं जो बात करने की कोशिश कर रहा हूं वह यह है कि वे अलग-अलग चीज़ें करते हैं …

मैं व्यक्तिगत रूप से अक्सर DataSet उपयोग नहीं करता हूं – लेकिन कुछ लोग उससे प्यार करते हैं हालांकि, मुझे ब्लॉब पहुंच आदि के लिए डेटा-पाठकों का उपयोग करना पड़ता है।

आगे मार्क के बिंदु के लिए: आप एक डाटासेट का उपयोग किसी भी डेटाबेस के साथ नहीं कर सकते।

आप इसे एक XML फ़ाइल से भर सकते हैं, या सिर्फ एक प्रोग्राम से। इसे एक डेटाबेस से पंक्तियों के साथ भरें, फिर घूमो और इसे एक अलग डाटाबेस में लिखिए।

एक डाटासेट एक संबंधपरक स्कीमा का पूरी तरह से स्मृति प्रतिनिधित्व है। क्या आप इसे वास्तविक संबंधपरक डेटाबेस के साथ कभी भी उपयोग करते हैं या नहीं

विभिन्न जरूरतों, विभिन्न समाधान

जैसे आपने कहा था, डाटासेट वीबी 6 रिकॉर्सेट के समान है। यही है, जिस डेटा की आपको ज़रूरत है उसे नीचे खींचें, इसे पास करें, इसके साथ करें जो आप करेंगे ओह, और फिर अंततः इसे से छुटकारा जब आप कर रहे हैं।

दिनरेडर अधिक सीमित है, लेकिन जब आपको केवल एक बार डेटा के माध्यम से पढ़ने की आवश्यकता है तो यह बहुत अच्छा प्रदर्शन देता है उदाहरण के लिए, यदि आप ग्रिड को भरते हैं – यानी डेटा खींचें, इसके माध्यम से चलाएं, प्रत्येक पंक्ति के लिए ग्रिड को पॉप्युलेट करें, फिर डेटा डालें – डेटारडेट डाटासेट से ज्यादा बेहतर है। दूसरी तरफ, यदि डेटा को अपडेट करने का कोई इरादा है, तो डेटारडर का उपयोग करने की कोशिश न करें …

तो, हाँ, इसे सीखें – लेकिन जब उचित हो तो इसका इस्तेमाल करें डेटासेट आपको अधिक लचीलेपन देता है

अपने दूसरे प्रश्न का उत्तर देने के लिए – हां, आपको डाटाराइडर के बारे में सीखना चाहिए। यदि कुछ भी है, तो आप समझते हैं कि उनका उपयोग कैसे करना है।

मुझे लगता है कि आप डेटासेट्स का उपयोग करते हुए इस स्थिति में बेहतर हैं – चूंकि आप डेटा बाइंडिंग कर रहे हैं और सभी (मैं सीपीयू चक्र को मानव प्रयास बनाम सोच रहा हूं)।

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

DataReader

डाटाराइडर का उपयोग डाटाबेस से डेटा को पढ़ने के लिए किया जाता है और यह डाटाबेस के डेटा को प्राप्त करने के दौरान केवल एक कनेक्शन उन्मुख वास्तुकला है। डाटासेट की तुलना में डेटाराइडर डेटा को बहुत तेजी से लाएगा। आम तौर पर हम डेटारडर को डेटा बाँध करने के लिए ExecuteReader ऑब्जेक्ट का उपयोग करेंगे।

GridView को DataReader डेटा को बाइंड करने के लिए हमें नीचे लिखे अनुसार कोड लिखना होगा:

 using(SqlConnection conn = new SqlConnection("Data Source=abc;Integrated Security=true;Initial Catalog=Test")) { con.Open(); SqlCommand cmd = new SqlCommand("Select UserName, First Name,LastName,Location FROM Users", conn); SqlDataReader sdr = cmd.ExecuteReader(); gvUserInfo.DataSource = sdr; gvUserInfo.DataBind(); conn.Close(); 

डेटासेट

डाटासेट एक डिस्कनेक्टेड ओरिएंट आर्किटेक्चर है जिसका अर्थ है डेटासेट के साथ कार्य के दौरान सक्रिय कनेक्शन की कोई आवश्यकता नहीं है और यह डेटाटैबल्स का एक संग्रह और तालिकाओं के बीच संबंध है। इसका इस्तेमाल डेटा के साथ कई तालिकाओं को पकड़ने के लिए किया जाता है। आप डेटा फॉर्म टेबल का चयन कर सकते हैं, तालिका के आधार पर विचार बना सकते हैं और रिश्तों पर बाल पंक्तियों से पूछ सकते हैं। डेटासेट भी आपको समृद्ध विशेषताओं को प्रदान करता है जैसे डेटा को एक्सएमएल के रूप में सहेजना और XML डेटा लोड करना।

 SqlConnection conn = new SqlConnection("Data Source=abc;Integrated Security=true;Initial Catalog=Test"); conn.Open(); SqlCommand cmd = new SqlCommand("Select UserName, First Name,LastName,Location FROM Users", conn); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); gvUserInfo.DataSource = ds; gvUserInfo.DataBind();