检查数据集是否为空

时间:2012-02-07 08:20:29

标签: c# dataset

这对我很有用。使用if检查数据集是否为空。如果是,则返回null值。但是对数据集进行正确检查还是应该采取其他方式?

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

5 个答案:

答案 0 :(得分:16)

在我看来,'正确'的方法是检查两者:

ds2.Tables.Count 

ds2.Tables[0].Rows.Count

答案 1 :(得分:4)

我会尝试检查:
ds2.HasChanges()
如果添加了任何数据,应该是真的。 有关详细信息,请查看here

答案 2 :(得分:4)

您可以使用bool并返回true。适用于dataset

中的所有表格
bool IsEmpty(DataSet dataSet)
{
    foreach(DataTable table in dataSet.Tables)
    if (table.Rows.Count != 0) return false;

    return true;
}

答案 3 :(得分:2)

这对我有用。...并且不会例外....

foreach (DataTable table in ds.Tables)
   if (table.Rows.Count != 0)
      table.Dispose();

答案 4 :(得分:1)

试试这个

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

上面的代码将起作用