Проверьте набор данных пуст или нет - PullRequest
10 голосов
/ 07 февраля 2012

Это работает для меня просто отлично. С помощью if проверяет, является ли набор данных пустым или нет. Если это так, вернуть нулевое значение. Но правильна ли проверка набора данных или я должен сделать другой путь?

 da2 = new SqlDataAdapter("SELECT project_id FROM project WHERE _small_project_id = '" + cb_small_project.SelectedValue + "' ORDER BY NEWID()", conn);
 ds2 = new DataSet();
 da2.Fill(ds2);
 DataRow[] rowProject = dt2.Select();

 if (ds2.Tables[0].Rows.Count == 0)
    cmd.Parameters["@_project_id"].Value = guidNull;
 else
    cmd.Parameters["@_project_id"].Value = rowProject[0]["project_id"];

Ответы [ 4 ]

16 голосов
/ 07 февраля 2012

На мой взгляд, «правильный» способ проверить оба:

ds2.Tables.Count 

ds2.Tables[0].Rows.Count
4 голосов
/ 17 января 2013

Вы можете использовать bool и вернуть true. Для всех таблиц в dataset

bool IsEmpty(DataSet dataSet)
{
    foreach(DataTable table in dataSet.Tables)
    if (table.Rows.Count != 0) return false;

    return true;
}
4 голосов
/ 07 февраля 2012

Я бы попробовал проверить:
ds2.HasChanges()
Это должно быть верно, если какие-либо данные были добавлены. Для получения дополнительной информации проверьте здесь .

1 голос
/ 30 марта 2015

попробуйте

 if (((System.Data.InternalDataCollectionBase)(ds.Tables)).Count != 0)
{
}
else
{
}

выше код будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...