Проверьте, имеет ли таблица данных нулевое значение - PullRequest
1 голос
/ 12 июня 2019

Как лучше всего проверить, содержит ли набор данных нулевое значение?

В некоторых случаях в нашем сценарии один столбец будет иметь нулевые значения.

Iбезуспешно пытались это решение:

DataSet ds = new DataSet();
reader.Fill(ds);

if (ds.Tables.Count > 0)
{
    DataTable dt = new DataTable();
    dt = ds.Tables[0];

    if (!DBNull.Value.Equals(dt.Rows[0]["Rif"]))
    {
        RifNew = dt.Rows[0]["Rif"].ToString(); 
    }
    else
    {
        Rif = "0";
    }
}

return ds;

Это ошибка:

Нет строки в позиции 0

1 Ответ

1 голос
/ 12 июня 2019

Таким образом:

dataSet.Tables.OfType<DataTable>().Any(x => x.Rows.OfType<DataRow>().Any(y => y.ItemArray.Any(z => z == null || z == DBNull.Value)));

Проверяет, имеет ли какой-либо столбец в любой строке в любой таблице в наборе данных нулевое значение.

Этот код будет работать в любом сценарии без каких-либоошибка.

...