检查数据集是否为空

本文关键字:是否 数据集 检查 | 更新日期: 2023-09-27 18:23:40

这对我来说很好。使用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"];

检查数据集是否为空

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

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;
}

这对我很有效……不会例外。。。。

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

尝试这个

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

以上代码将工作