2011-08-03 13 views
5

मैं एक समय में डेटाग्रिड व्यू की पंक्तियों के माध्यम से कैसे लूप कर सकता हूं (मेरे पास 2 कॉलम हैं) फिर उन 2 कॉलम को वेरिएबल में स्टोर करें जिन्हें मैं एसक्यूएल क्वेरी के पैरामीटर के रूप में उपयोग करूँगा?मैं डेटाग्रिड व्यू पंक्ति मान कैसे प्राप्त कर सकता हूं और चर में स्टोर कर सकता हूं?

वस्तु एक वस्तु का एक उदाहरण के लिए सेट नहीं संदर्भ -

foreach (DataGridViewRow Datarow in contentTable_grd.Rows) 
      { 
       contentValue1 = Datarow.Cells[0].Value.ToString(); 
       contentValue2 = Datarow.Cells[1].Value.ToString(); 

       SqlParameter param4 = new SqlParameter("@contentTableValue1", contentValue1); 
       SqlParameter param5 = new SqlParameter("@contentTableValue2", contentValue2); 

      } 

मैं जब ऊपर कोड का उपयोग कर इस त्रुटि हो रही है।

+0

माध्यम से जा रहा से रिक्त कक्षों को रोकने के लिए आपको लगता है कि अपने कोड प्राप्त नहीं करता है करना चाहते रहे हैं मिल गया? –

+0

@andrewcooper मेरे पास 2 कॉलम हैं और प्रत्येक पंक्ति के लिए मैं उन मानों को प्राप्त करना चाहता हूं और इसे एक चर में संग्रहीत करना चाहता हूं जिसे डेटाबेस में डाला जाएगा और फिर अगली पंक्ति पर ले जाया जाएगा। –

+0

कौन सी लाइन त्रुटि दे रही है? क्या 'contentTable_grd' मौजूद है? –

उत्तर

3

समस्या मैं एक की जरूरत है जहां बयान

foreach (DataGridViewRow Datarow in contentTable_grd.Rows) 
    { 
     if (Datarow.Cells[0].Value != null && Datarow.Cells[1].Value != null) 
     { 
      contentValue1 = Datarow.Cells[0].Value.ToString(); 
      contentValue2 = Datarow.Cells[1].Value.ToString(); 
      MessageBox.Show(contentValue1); 
      MessageBox.Show(contentValue2); 
     } 

    } 
+1

अच्छी पकड़। एक चीज जिसे आप विचार कर सकते हैं, जो कभी-कभी आप अपनी प्रक्रिया में शून्य मानों को पास करना चाहते हैं ... इसके अलावा - चेकआउट string.isnullorempty() के लिए संभावित प्रतिस्थापन के रूप में! = NULL ... – Chains

1

सामग्री क्या है Value1?

सी # के बारे में निश्चित नहीं है - क्या यह स्पष्ट रूप से चर टाइप कर सकता है? हो सकता है, string contentvalue1 = ...

भी तरह कुछ कोशिश नियंत्रण किस तरह सेल में हो सकता है पर निर्भर करता है ... आप

string contentvalue1 = CTYPE(DataRow.FindControl("myTextbox"),textbox).text

5

सबसे अधिक संभावना समस्या की तरह कुछ कर सकता है कि एक या दोनों आपके द्वारा संदर्भित सेल में एक शून्य मान होता है और जब आप इस सेल पर ToString() पर कॉल करने का प्रयास करते हैं तो अपवाद फेंक दिया जाता है।

एक समाधान ?? operator उपयोग करने के लिए अपने पैरामीटर के लिए एक डिफ़ॉल्ट मान देने के लिए अगर एक सेल मूल्य मान शून्य होगा:

contentValue1 = Datarow.Cells[0].Value ?? string.Empty; 
contentValue2 = Datarow.Cells[1].Value ?? string.Empty; 

इस कोड को एक खाली स्ट्रिंग वापस आ जाएगी अगर किसी सेल के मान रिक्त है; आप एक अलग डिफ़ॉल्ट का उपयोग करना चाह सकते हैं।

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

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