Filer DataTable ausschließen DBNull.Wert
Erhalte ich eine Datentabelle aus excel-Datei und die Daten in der ersten Spalte sieht wie folgt aus:
11129
DBNull.Wert
29299
29020
DBNull.Wert
29020
Bin ich mit LINQ to select distict und es funktioniert, wenn es keine DBNull.Wert auf Werte wie unten.
albumIds = dt.AsEnumerable().Select(p => (int)p.Feld("F1")).Distinct().ToArray();
Aber wenn DBNull.Wert präsentieren, repräsentieren leere excel-Zellen bekomme ich Konvertierungsfehler.
Wie Filtere ich die raus DBNull.Wert von meinem ResultSet?
Danke
Wie bekommen Sie die Daten aus excel an eine datatable? Gibt es mehr als eine Spalte?
InformationsquelleAutor Sergey | 2009-04-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als angedeutet in Jeremys Antwort, Wenn du noch einen Verweis auf System.Data.DataSetExtensions.dll bekommen Sie einige praktische Erweiterung Methoden zum arbeiten mit DataSets und DataTables unter Verwendung von LINQ. Insbesondere können Sie das Feld
<int?>
() - Methode zum konvertieren einer integer-Spalte, die möglicherweise enthalten DBNull in einer Spalte der null-ints...InformationsquelleAutor Joel Mueller
Brauchen Sie nur zu filtern, die null-Werte zuerst. Dann ist dein LINQ-Ausdruck sollte große Arbeit.
InformationsquelleAutor sestocker
Müssen Sie die Felder für DBNull ist, bevor Sie versuchen Sie die Konvertierung mit der Where-Methode ist wahrscheinlich am einfachsten.
InformationsquelleAutor Jeremy
Können Sie versuchen, diese:
Kann ich nicht wirklich überprüfen, weil ich nicht über das DB setup
InformationsquelleAutor Noah
Werde ich die Antwort auf meine eigene Frage.
Anstelle der Verwendung von Linq ich eine foreach-Schleife und löschen von Zeilen wenn Wert null ist.
und dann tun Sie mit Linq verschiedene
InformationsquelleAutor Sergey