Mam objds zbioru danych. objds zawiera tabelę o nazwie Tabela1. Tabela 1 zawiera kolumnę o nazwie ProcessName. Ta ProcessName zawiera powtarzające się nazwy, więc chcę wybrać tylko różne nazwy. Czy to możliwe.
intUniqId[i] = (objds.Tables[0].Rows[i]["ProcessName"].ToString());
Odpowiedzi:
źródło
table.AsEnumerable().GroupBy(row => row.Field<int>("mo")).Select(group => group.First()).CopyToDataTable()
Wykonanie jednego wiersza kodu pozwoli uniknąć zduplikowanych wierszy a
DataTable
:Gdzie:
pierwszy parametr w
ToTable()
jest wartością logiczną, która wskazuje, czy chcesz mieć oddzielne wiersze, czy nie.Drugi parametr w
ToTable()
to nazwa kolumny, na podstawie której musimy wybrać różne wiersze. Tylko te kolumny będą w zwróconym pliku danych.To samo można zrobić z a
DataSet
, uzyskując dostęp do określonegoDataTable
:źródło
DefaultView
właściwość aDataTable
.ToTable(boolean, params string[] columnNames)
metoda pozwala na określenie wielu kolumn.źródło
Z LINQ (.NET 3.5, C # 3)
źródło
Możesz użyć w ten sposób:
data
jestDataTable
ale wydajność spadnie. spróbuj użyć poniższego kodu:
Dla wydajności; http://onerkaya.blogspot.com/2013/01/distinct-dataviewtotable-vs-linq.html
źródło
źródło
Aby ulepszyć powyższą odpowiedź: Funkcja ToTable w widoku danych ma flagę „wyraźną”.
źródło
Kolejne prace. Mam to działa dla mnie z .NET 3.5 SP1
źródło
Po prostu znalazłem to: http://support.microsoft.com/default.aspx?scid=kb;en-us;326176#1
Szukając czegoś podobnego, tylko specjalnie dla .net 2.0
Zakładam, że OP szukał czegoś innego podczas korzystania z DataTable.Select (). (Select () nie obsługuje różnych)
Oto kod z powyższego linku:
źródło
źródło
Składnia:-
DAWNY:-
źródło
Najprostszym rozwiązaniem jest użycie LINQ, a następnie przekształcenie wyniku na DataTable
Dotyczy to tylko platformy asp.net 4.0 ^ Framework i wymaga odwołania do System.Data.DataSetExtensions, jak wskazał Ivan Ferrer Villa
źródło
System.Data.DataSetExtensions
źródło
Filtruje tabelę danych z kodem elektronicznym i taksówką łącznie uznawanych za unikalne
źródło
to jest łatwe
a dt2 datatable zawierają unikalne dane kolumna1, kolumna2..kolumnaN-ta.
źródło
źródło
coś jak?
SELECT DISTINCT .... FROM table WHERE warunek
http://www.felixgers.de/teaching/sql/sql_distinct.html
uwaga: pytanie domowe? i niech Bóg błogosławi google ...
http://www.google.com/search?hl=en&rlz=1C1GGLS_enJO330JO333&q=c%23+selecting+distinct+values+from+table&aq=f&oq=&aqi=
źródło
źródło