ADO.NET DataRow: comprobar la existencia de la columna

108

¿Cómo verifico la existencia de una columna en una fila de datos?

Estoy creando tablas de datos para organizar algunos datos que ya he extraído de la base de datos. Dependiendo del tipo de datos en cada fila, necesito crear una tabla de datos con diferentes columnas. Luego, más adelante, quiero verificar y ver si la tabla de datos que estoy viendo tiene una determinada columna.

Sé que puedo detectar la excepción y manejarla de esa manera, pero tengo curiosidad por saber si hay una propiedad o método en el objeto de fila de datos que hará esto por mí.

Así es como puedo hacerlo detectando la excepción:

public static String CheckEmptyDataRowItem(DataRow row, String rowName, String nullValue)
{
    try
    {
        return row[rowName].ToString();
    }
    catch (System.ArgumentException)
    {
        return nullValue;
    }
}
Tono
fuente
5
rowName es un mal nombre para el nombre de la columna
paparazzo

Respuestas:

212

Simplemente puede verificar así:

return row.Table.Columns.Contains(columnName);
Gaurav
fuente
6

Las tablas de datos tienen esa información de esquema, así que verifique si la colección Columns de la tabla de la fila contiene el campo.

Wyatt Barnett
fuente