ADO.NET DataRow - verificare per l'esistenza di colonna
Domanda
Come faccio a verificare l'esistenza di una colonna in una datarow?
Sto costruendo DataTable per organizzare alcuni dati che ho già tirato indietro dal database. A seconda del tipo di dati in ciascuna riga, devo generare un datatable con colonne diverse. Poi, più tardi, voglio controllare e vedere se il DataTable sto guardando ha una certa colonna.
So di poter catturare l'eccezione e gestire in questo modo, ma io sono curioso di sapere se v'è una proprietà o un metodo sull'oggetto datarow che farà questo per me?
Ecco come posso farlo catturando l'eccezione:
public static String CheckEmptyDataRowItem(DataRow row, String rowName, String nullValue)
{
try
{
return row[rowName].ToString();
}
catch (System.ArgumentException)
{
return nullValue;
}
}
Soluzione
Si può semplicemente controllare in questo modo:
return row.Table.Columns.Contains(columnName);
Altri suggerimenti
DataTable hanno queste informazioni dello schema, in modo da verificare se la raccolta Colonne della tabella della riga contiene il campo.