2012-02-14 14 views
5

का उपयोग कर डेटाटेबल से मूल्य पुनर्प्राप्त करना मुझे सी # में मेरे कोड के साथ कोई समस्या है। मैंने उनमें से प्रत्येक को आवंटित प्राथमिक कुंजी के साथ कुछ डेटाटेबल्स सेट किए हैं। मैं एक कॉलम से एक पंक्ति को पुनः प्राप्त करना चाहता हूं।सी #: प्राथमिक कुंजी

चलें कहते हैं कि मैं इस कोड है:

DataColumn Pcolumn = new DataColumn(); 
DataColumn[] key = new DataColumn[1]; 

Pcolumn.DataType = System.Type.GetType("System.Double"); 

Pcolumn.ColumnName = "length"; 
key[0] = Pcolumn; 


table6F.Columns.Add(Pcolumn); 
table6F.Columns.Add("Area", typeof(double)); 
table6F.Columns.Add("load", typeof(double)); 
table6F.Columns.Add("weigth", typeof(double)); 

table6F.PrimaryKey = key; 
table.Rows.Add(6.0, 14.0, 17.8 , 11.0); 
table.Rows.Add(7.0, 16.2 , 20.7 , 16.0); 

, प्राथमिक कुंजी स्तंभ में और मैं 7.0 के लिए खोज करने के लिए दूसरी पंक्ति (20.7), मैं चाहते हैं के लिए "लोड" प्राप्त करना चाहते हैं, टेबल। मुझे डमी ने ऐसा करने के लिए परीक्षण किया, बस परीक्षण करने के लिए:

Object oV; 
double load; 

//Get an Table object given the specific row number, this dummy i always set to 0. 
// Given Column 
oV = table.Rows[0]["load"]; 
load = Convert.ToDouble(oV.ToString()); 

क्या प्राथमिक कुंजी का उपयोग निकालने का एक समान तरीका है?

उत्तर

6

आप DataRowCollection.Find पद्धति का उपयोग करके अपनी प्राथमिक कुंजी के आधार पर एक DataTable से एक पंक्ति प्राप्त कर सकते हैं खोजने के लिए ढूँढें विधि का उपयोग कर सकते हैं। आपके मामले में यह होगा:

DataRow matchingRow = table.Rows.Find(7.0D); 
double value = (double)matchingRow["load"]; 
+0

धन्यवाद दोस्तों! कार्यान्वित एनरिकोस समाधान और यह एक आकर्षण की तरह काम किया! – erikduvet

2

आप एक पंक्ति का उपयोग कर प्राथमिक कुंजी

DataRow row = dataTable.Rows.Find("your key"); 
if(null != row) 
{ 
    string value = row["ColumnName"]; 
} 
संबंधित मुद्दे