ADO.NET DataRow: verifica l'esistenza della colonna


108

Come posso verificare l'esistenza di una colonna in un datarow?

Sto costruendo datatables per organizzare alcuni dati che ho già estratto dal database. A seconda del tipo di dati in ogni riga, ho bisogno di creare un datatable con colonne diverse. Quindi, in seguito, voglio controllare e vedere se il datatable che sto guardando ha una certa colonna.

So di poter catturare l'eccezione e gestirla in quel modo, ma sono curioso di sapere se c'è una proprietà o un metodo sull'oggetto datarow che lo farà 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;
    }
}

5
rowName è un brutto nome per il nome della colonna
paparazzo

Risposte:


212

Puoi semplicemente controllare in questo modo:

return row.Table.Columns.Contains(columnName);

6

DataTables hanno le informazioni sullo schema, quindi controlla se la raccolta di colonne della tabella della riga contiene il campo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.