DataSet.tables से तालिका प्राप्त करने के लिए मैं तालिका का नाम क्यों नहीं पारित कर सकता हूं?

मेरे पास एक कस्टम टेबल है। कस्टम टेबल के बारे में जानकारी यहां दी गई है। तालिका के नाम यहां दिए गए हैं

तालिका का नाम: customtable_TwitterCacheTable

तालिका नाम का उपयोग करके मैं तालिका का उपयोग क्यों नहीं कर सकता,

तो मेरे कोड में, अगर मैं ऐसा करता हूं, तो मुझे एक नल रिफरेंस अपवाद मिलेगा

   foreach (DataRow row in ds.Tables["customtable_TwitterCacheTable"].Rows)
                    {
                    CustomTableItem deleteItem = new CustomTableItem(row, customTableClassName);

                    deleteItem.Delete();

                }

लेकिन निम्नलिखित ठीक काम लगता है

   foreach (DataRow row in ds.Tables[0].Rows)

टेबल प्राप्त करने के लिए मैं तालिका का नाम क्यों नहीं पारित कर सकता हूं? क्या मुझे इस सूचकांक आधारित दृष्टिकोण का उपयोग करना है?

कृपया मुझे बताओ।

धन्यवाद

0
हाँ, मैंने डेटाबेस के साथ जांच की है। प्रदान किया गया नाम सही है
जोड़ा लेखक doglin, स्रोत
मैंने कस्टमटेबल_TwitterCacheTable से SQL चयन * में क्वेरी की है और यह पंक्तियों को ठीक करता है। लेकिन जैसे ही मैं यह डीएस करता हूं। टेबल्स ["customtable_TwitterCacheTable"]। पंक्तियां मुझे शून्य अपवाद मिलती है
जोड़ा लेखक doglin, स्रोत
पुष्टि करें कि आपने उस तालिका को डेटासेट में एक नाम दिया है और यह मेल खाता है।
जोड़ा लेखक Mike Schwartz, स्रोत

1 उत्तर

आपको डेटासेट में तालिका को मैन्युअल रूप से नामित करने की आवश्यकता है। जब तक इसका उत्कृष्ट नाम नहीं दिया जाता है, इसे केवल ds.tables [0] के रूप में जाना जाता है। आप जिस डेटा को प्राप्त कर सकते हैं उसके आधार पर:

//if you used a SqlDataAdapter
da.Fill(ds, "customtable_TwitterCacheTable");

या आप यह कर सकते हैं:

ds.Tables[0].TableName = "customtable_TwitterCacheTable";
2
जोड़ा