दिलचस्प पोस्ट
रोबोट को एक फ़ॉर्म भरने से कैसे रोका जा सकता है? जेएसएफ में 'बाध्यकारी' विशेषता कैसे काम करती है? यह कब और कैसे इस्तेमाल किया जाना चाहिए? समूह द्वारा हाल ही में गैर- NA के साथ अनुपस्थित मूल्य (एनए) बदलें नियमित अभिव्यक्ति के संदर्भ में 'आलसी' और 'लालची' का क्या अर्थ है? PHP – एक नया पंक्ति बनाने के लिए कैसे? लिंकर त्रुटियों जब glib के खिलाफ संकलन …? MongoDB में डेटा संस्करण को लागू करने के तरीके पायथन 3 त्रुटि: "आयात त्रुटि: कोई मॉड्यूल नाम urllib2 नहीं" बैच का उपयोग करने वाले फ़ोल्डर्स और उप फ़ोल्डर्स का नाम बदलने के साथ समस्या इंजेक्शन वाले वर्ग का नाम क्यों है? आपको कंप्यूटर की कुल रैम की संख्या कैसे मिलती है? क्या पीएचएल में ग्लोबल वैरिएबल बुरा व्यवहार में है? यदि हां, तो क्यों? उपयोगकर्ता के लिए mysql सर्वर पर दूरस्थ पहुँच अनुमतियाँ कैसे दें? PHP में किसी अन्य सरणी से एक सरणी बनाना TypeError: 'इंट ऑब्जेक्ट' को ट्रांज़िट में परिवर्तित नहीं किया जा सकता

किसी डेटासेट में अलग पंक्तियों को कैसे चुनें और किसी सरणी में स्टोर करें

मेरे पास एक डाटासेट objds है objds तालिका 1 नामक एक मेज शामिल हैं तालिका 1 में नामांकित प्रक्रिया नाम है इस प्रक्रिया नाम में दोहराए नाम हैं। इसलिए मैं केवल विशिष्ट नामों का चयन करना चाहता हूं। यह संभव है।

intUniqId[i] = (objds.Tables[0].Rows[i]["ProcessName"].ToString()); 

वेब के समाधान से एकत्रित समाधान "किसी डेटासेट में अलग पंक्तियों को कैसे चुनें और किसी सरणी में स्टोर करें"

 DataView view = new DataView(table); DataTable distinctValues = view.ToTable(true, "Column1", "Column2" ...); 

कोड की एक पंक्ति के बाद DataTable की डुप्लिकेट पंक्तियों से बचना होगा:

 dataTable.DefaultView.ToTable(true, "employeeid"); 

कहा पे:

  • ToTable() में पहला पैरामीटर एक बूलियन है जो इंगित करता है कि आप अलग-अलग पंक्तियां चाहते हैं या नहीं।

  • ToTable() में दूसरा पैरामीटर स्तंभ नाम है जिस पर हमें अलग-अलग पंक्तियों को चुनना होगा। केवल ये स्तंभ लौटे हुए आंकड़ों में होंगे।

एक विशिष्ट DataTable तक पहुंच कर DataSet से भी यही किया जा सकता है:

 dataSet.Tables["Employee"].DefaultView.ToTable(true, "employeeid"); 
 DataTable dt = new DataTable(); dt.Columns.Add("IntValue", typeof(int)); dt.Columns.Add("StringValue", typeof(string)); dt.Rows.Add(1, "1"); dt.Rows.Add(1, "1"); dt.Rows.Add(1, "1"); dt.Rows.Add(2, "2"); dt.Rows.Add(2, "2"); var x = (from r in dt.AsEnumerable() select r["IntValue"]).Distinct().ToList(); 

LINQ (.NET 3.5, C # 3) के साथ

 var distinctNames = ( from row in DataTable.AsEnumerable() select row.Field<string>("Name")).Distinct(); foreach (var name in distinctNames ) { Console.WriteLine(name); } 
 var distinctRows = (from DataRow dRow in dtInventory.Rows select dRow["column_name"] ).Distinct(); var distinctRows = (from DataRow dRow in dtInventory.Rows select dRow["col1"], dRow["col2"].. ).Distinct(); 

आप इस तरह प्रयोग कर सकते हैं:

data DataTable

 data.DefaultView.ToTable(true, "Id", "Name", "Role", "DC1", "DC2", "DC3", "DC4", "DC5", "DC6", "DC7"); 

लेकिन प्रदर्शन नीचे हो जाएगा नीचे कोड का उपयोग करने का प्रयास करें:

 data.AsEnumerable().Distinct(System.Data.DataRowComparer.Default).ToList(); 

प्रदर्शन के लिए; http://onerkaya.blogspot.com/2013/01/distinct-dataviewtotable-vs-linq.html

उपर्युक्त उत्तर में सुधार करने के लिए: डेटाव्यू पर ToTable फ़ंक्शन के पास "अलग" ध्वज है

 //This will filter all records to be distinct dt = dt.DefaultView.ToTable(true); 
 string[] TobeDistinct = {"Name","City","State"}; DataTable dtDistinct = GetDistinctRecords(DTwithDuplicate, TobeDistinct); //Following function will return Distinct records for Name, City and State column. public static DataTable GetDistinctRecords(DataTable dt, string[] Columns) { DataTable dtUniqRecords = new DataTable(); dtUniqRecords = dt.DefaultView.ToTable(true, Columns); return dtUniqRecords; } 

निम्नलिखित कार्यों मैं इसे मेरे लिए .NET 3.5 SP1 के साथ काम कर रहा हूं

 // Create the list of columns String[] szColumns = new String[data.Columns.Count]; for (int index = 0; index < data.Columns.Count; index++) { szColumns[index] = data.Columns[index].ColumnName; } // Get the distinct records data = data.DefaultView.ToTable(true, szColumns); 

मुझे बस यह पता चला है: http://support.microsoft.com/default.aspx?scid=kb;en-us;326176#1

कुछ इसी तरह की तलाश करते समय, केवल, विशेष रूप से .net 2.0 के लिए

मैं अनुमान लगा रहा हूं कि ओपी डेटाटाले का उपयोग करते समय अलग-अलग दिख रहा था। चयन () (चुनें () अलग समर्थन नहीं करता है)

तो ऊपर दिए गए लिंक से कोड है:

 class DataTableHelper { public DataTable SelectDistinct(string TableName, DataTable SourceTable, string FieldName) { DataTable dt = new DataTable(TableName); dt.Columns.Add(FieldName, SourceTable.Columns[FieldName].DataType); object LastValue = null; foreach (DataRow dr in SourceTable.Select("", FieldName)) { if ( LastValue == null || !(ColumnEqual(LastValue, dr[FieldName])) ) { LastValue = dr[FieldName]; dt.Rows.Add(new object[]{LastValue}); } } return dt; } private bool ColumnEqual(object A, object B) { // Compares two values to see if they are equal. Also compares DBNULL.Value. // Note: If your DataTable contains object fields, then you must extend this // function to handle them in a meaningful way if you intend to group on them. if ( A == DBNull.Value && B == DBNull.Value ) // both are DBNull.Value return true; if ( A == DBNull.Value || B == DBNull.Value ) // only one is DBNull.Value return false; return ( A.Equals(B) ); // value type standard comparison } } 

जैसे श्वास?

चुनें अंतर …. तालिका से कहाँ स्थिति

http://www.felixgers.de/teaching/sql/sql_distinct.html

नोट: होमवर्क प्रश्न? और भगवान गूगल को आशीर्वाद ..

http://www.google.com/search?hl=en&rlz=1C1GGLS_enJO330JO333&q=c%23+selecting+distinct+values+from+table&aq=f&oq=&aqi=

 var ValuetoReturn = (from Rows in YourDataTable.AsEnumerable() select Rows["ColumnName"]).Distinct().ToList(); 
 DataTable dt = new DataTable("EMPLOYEE_LIST"); DataColumn eeCode = dt.Columns.Add("EMPLOYEE_CODE", typeof(String)); DataColumn taxYear = dt.Columns.Add("TAX_YEAR", typeof(String)); DataColumn intData = dt.Columns.Add("INT_DATA", typeof(int)); DataColumn textData = dt.Columns.Add("TEXT_DATA", typeof(String)); dt.PrimaryKey = new DataColumn[] { eeCode, taxYear }; 

यह डेटा तालिका को eecode और taxyear के साथ संयुक्त रूप से अद्वितीय के रूप में माना जाता है

वाक्य – विन्यास:-

 DataTable dt = ds.Tables[0].DefaultView.ToTable(true, "ColumnName"); 

पूर्व: –

 DataTable uniqueCols = dsUDFlable.Tables[0].DefaultView.ToTable(true, "BorrowerLabelName"); 
 DataTable dtbs = new DataTable(); DataView dvbs = new DataView(dt); dvbs.RowFilter = "ColumnName='Filtervalue'"; dtbs = dvbs.ToTable();