2017-05-03 12 views
3

Ich Abfrage der MySQL-Datenbank und Speichern der Antwort in Datentabelle. Ich brauche für die bestimmte Spalte zu überprüfen, ob seine leeren, um zu überprüfen oder null.Below ist, was ichSuchen nach einem Feld im Dataset C#

DataTable dataTab = new DataTable("ServiceOrderProtocol"); 

string strQuery = "select OrderID, ServiceOrder, ExternalID, Project_key, ProjectType from ServiceOrder;"; 

using (MySqlCommand cmd = new MySqlCommand(strQuery, conn)) 
{ 
using (MySqlDataAdapter sqlDa = new MySqlDataAdapter(cmd)) 
{ 
sqlDa.Fill(dataTab); 
return dataTab; 
}} 

Jetzt mache ich bin nicht sicher, wie für das Feld zu überprüfen ExternalID aus der Abfrage in DATATAB gespeichert zurückgegeben wird, ist null oder leer.

+0

Eine Tabelle speichert normalerweise mehrere Zeilen, wollen Sie wissen, ob einer von ihnen eine hat Feld 'ExternalID', das null ist oder alle null sind? –

+0

Mögliches Duplikat von [Wie kann man Spaltenwerte separat über die sql-Datenadapterklasse abrufen?] (Http://stackoverflow.com/questions/10805578/how-to-retrieve-column-values-separate-through-sql-data-adapter -klasse) –

+0

@TimSchmelter ja alle Zeilen mit ExternalId sind null oder leer – xyz

Antwort

1

Wenn Sie wissen möchten, wenn eine der Zeilen in der Tabelle einen Nullwert in dem Feld enthält ExternalID:

bool anyNullExternalID = dataTab.AsEnumerable().Any(r => r.IsNull("ExternalID")); 

Wenn Sie wissen wollen, ob alle sind null:

bool allNullExternalID = dataTab.AsEnumerable().All(r => r.IsNull("ExternalID")); 

wenn Sie alle Zeilen wollen, wo es null:

IEnumerable<DataRow> allNullExternalIDRows = dataTab.AsEnumerable() 
    .Where(r => r.IsNull("ExternalID")); 

Wenn es nicht ein int (wie der Name schon sagt), sondern ein string und Sie wollen null und eine leere Zeichenfolge enthalten, hängen || string.IsNullOrEmpty(r.Field<string>("ExternalID"))

+0

Kann ich das auf den Blank zu prüfen auch auf – xyz

+0

@xyz erweitern: also ist es ein String? Bearbeitete meine Antwort –

Verwandte Themen