这对我很有用。使用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"];
答案 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
{
}
上面的代码将起作用