Я использовал следующий метод расширения для моих типов DataRow:
public static string ColumnIsNull(this System.Data.DataRow row, string colName, string defaultValue = "")
{
string val = defaultValue;
if (row.Table.Columns.Contains(colName))
{
if (row[colName] != DBNull.Value)
{
val = row[colName]?.ToString();
}
}
return val;
}
использование:
MyControl.Text = MyDataTable.Rows[0].ColumnIsNull("MyColumn");
MyOtherControl.Text = MyDataTable.Rows[0].ColumnIsNull("AnotherCol", "Doh! I'm null");
Сначала я проверяю существование столбца, потому что если ни один из результатов запроса не имеет ненулевое значение для этого столбца, объект DataTable даже не предоставит этот столбец.