Проверить набор данных пуст или нет

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

 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"];

Ответ 1

По-моему, "правильным" является проверка обоих:

ds2.Tables.Count 

ds2.Tables[0].Rows.Count

Ответ 2

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

Ответ 3

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

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

    return true;
}

Ответ 4

попробуйте это

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

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