2012-05-03 14 views
15

मैं डेटारो को पढ़ने वाले कोड को कैसे लिखूं, लेकिन यदि डेटारो में दायर किया गया है, तो यह सिर्फ इसे छोड़ देता है और इस तरह चलता है, उदाहरण के लिए:सत्यापित करें कि उसके मान को पढ़ने से पहले डेटारो में एक कॉलम मौजूद है

string BarcodeIssueUnit; 
if (dr_art_line["BarcodeIssueUnit"].ToString().Length <= 0) 
{ 
    BarcodeIssueUnit = ""; 
} 
else 
{ 
    BarcodeIssueUnit = dr_art_line["BarcodeIssueUnit"].ToString(); 
} 

अब, कॉलम BarcodeIssueUnit तालिका से संबंधित हो सकता है लेकिन, कुछ मामलों में, यह कॉलम तालिका में मौजूद नहीं है।

System.ArgumentException: Column `BarcodeIssueUnit` 
does not belong to table Line. 

मैं सिर्फ एक जांच चलाने के लिए करता है, तो स्तंभ है ठीक है, मान देख, अगर ऐसा नहीं है, सिर्फ इतना है कि हिस्सा छोड़ सकते हैं और चलते हैं हैं: यदि यह वहाँ नहीं है और मैं इसे पढ़ा है, मैं इस त्रुटि मिलती है पर।

+0

वीबी, अभी भी एक नकली: http://stackoverflow.com/प्रश्न/19848 9 3/कैसे-से-चेक-अगर-ए-कॉलम-साथ-दिए गए-नाम-मौजूद-इन-ए-डाटरो – nawfal

+0

संभावित डुप्लिकेट [यदि डेटारॉ ऑब्जेक्ट में कॉलम मौजूद है तो मैं कैसे सत्यापित कर सकता हूं? ] (http://stackoverflow.com/quest आयन/9677852/कैसे-कैन-आई-वैध-अगर-द-कॉलम-मौजूद-इन-ए-डाटरो-ऑब्जेक्ट) –

उत्तर

38

DataRow.Table.Columns का उपयोग कर कॉलम नाम की जांच करें। यदि मूल्य परिवर्तित करता है तो बाहर आ जाता है।

BarcodeIssueUnit = dr_art_line.Table.Columns.Contains("BarcodeIssueUnit")? 
        dr_art_line["BarcodeIssueUnit"].ToString(): ""; 
+0

ठीक है, इसे कैसे लिखना है? – CrBruno

+0

ठीक है, धन्यवाद – CrBruno

1

आप देख सकते हैं वर्तमान पंक्ति के लिए तालिका योजना एक विशिष्ट स्तंभ शामिल हैं:

if (!dr_art_line.Table.Columns.Contains("BarcodeIssueUnit")) 
{ 
    BarcodeIssueUnit = ""; 
} 
else 
{ 
     BarcodeIssueUnit = dr_art_line["BarcodeIssueUnit"].ToString(); 
} 
+0

ओपी स्पष्ट रूप से बताता है कि यह एक डेटा पंक्ति है। – Shai

+0

इसलिए 'dr_' उपसर्ग। –

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

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