Ответ 1
По-моему, "правильным" является проверка обоих:
ds2.Tables.Count
ds2.Tables[0].Rows.Count
Это работает для меня просто отлично. С, если проверка, если набор данных пуст или нет. Если это так, верните нулевое значение. Но есть ли проверка набора данных правильно или я должен сделать другой путь?
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"];
По-моему, "правильным" является проверка обоих:
ds2.Tables.Count
ds2.Tables[0].Rows.Count
Я бы попробовал проверить: ds2.HasChanges()
Это должно быть правдой, если какие-либо данные были добавлены.
Для получения дополнительной информации проверьте здесь.
Вы можете использовать bool
и вернуть true
. Для всех таблиц в dataset
bool IsEmpty(DataSet dataSet)
{
foreach(DataTable table in dataSet.Tables)
if (table.Rows.Count != 0) return false;
return true;
}
попробуйте это
if (((System.Data.InternalDataCollectionBase)(ds.Tables)).Count != 0)
{
}
else
{
}
выше код будет работать