2010-08-20 11 views
5

मैं डेटासेट को डेटा रीडर में कैसे परिवर्तित कर सकता हूं?मैं डेटासेट को डेटा रीडर में कैसे परिवर्तित कर सकता हूं?

+2

मुझे लगता है तुम क्या करने कोशिश कर रहे हैं में एक दोष है। आप उच्च स्तर पर क्या करने की कोशिश कर रहे हैं? – Dann

+0

आप नहीं कर सकते। यदि आप अधिक स्पष्टीकरण चाहते हैं, तो कृपया अधिक जानकारी प्रदान करें। –

उत्तर

13

आप DataReader को डाटासेट बदलने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

DataTableReader rd = ds.Tables[0].CreateDataReader(); 
0

DataSet एक विधि CreateDataReader कहा जाता है जो एक DataTableReader बनाएगा है, लेकिन मुझे नहीं लगता कि आप एक DataReader बना सकते हैं है।

DataSet.CreateDataReader

0

डेटासेट डिस्कनेक्ट में स्मृति वस्तु है। डेटा रीडर एक जुड़ा हुआ यूनिडायरेक्शनल ऑब्जेक्ट है।

तो मुझे लगता है कि यह संभव नहीं है।

क्या इसकी वास्तव में आवश्यकता है?

+0

https://msdn.microsoft.com/en-us/library/system.data.common.dbdatareader(v=vs.110).aspx - डेटा स्रोत से पंक्तियों की एकमात्र-स्ट्रीम स्ट्रीम पढ़ता है। डेटाबेस से 'कनेक्ट' होने के बारे में कुछ भी नहीं कहता है। – JJS

0

यदि आप डेटासेट के माध्यम से पुन: प्रयास करना चाहते हैं, तो आपको डेटा रीडर की आवश्यकता नहीं है।

foreach(var row in ds.Tables["YourTable"]) 
{ 
    var value = row.Field<int>("ID"); // etc 
} 
3

दोनों डेटासेट और DataTable एक विधि CreateDataReader जो एक DataTableReader बनाता बेनकाब: डेटासेट डिस्कनेक्ट में स्मृति वस्तु तो यह माध्यम से पुनरावृति के लिए-प्रत्येक का उपयोग कर रहा है। इन कड़ियों की जाँच करें -

http://msdn.microsoft.com/en-us/library/system.data.dataset.createdatareader.aspx

http://msdn.microsoft.com/en-us/library/system.data.datatable.createdatareader.aspx

0

आप एक DbDataReader करने के लिए एक डेटासेट परिवर्तित नहीं कर सकते।

हालांकि आप एक डीबीडेटा रीडर बना सकते हैं जो डेटासेट पर CreateDataReader विधि को कॉल करके डेटासेट से परिणाम पढ़ेगा।

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

यदि आपका डेटासेट डेटाबेस से SELECT कमांड का परिणाम है, तो आपको DbCommand.ExecuteReader() को कॉल करके DbDataReader प्राप्त करने में सक्षम होना चाहिए। यह डेटासेट को पूरी तरह से काट देगा और परिणामस्वरूप कुछ अधिक कुशल होगा।

संबंधित मुद्दे

 संबंधित मुद्दे