我正在修改使用以下内容执行查询的其他人的代码:
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn);
da.Fill(ds);
如何判断DataSet是否为空(即没有返回结果)?
答案 0 :(得分:67)
如果我理解正确,这应该对你有用
if (ds.Tables[0].Rows.Count == 0)
{
//
}
答案 1 :(得分:20)
答案 2 :(得分:17)
这不是一个有效的答案,因为它会出现以下错误
找不到表格0。
使用以下语句
if (ds.Tables.Count == 0)
{
//DataSet is empty
}
答案 3 :(得分:15)
你应该遍历所有表并测试table.Rows.Count是否为0
bool IsEmpty(DataSet dataSet)
{
foreach(DataTable table in dataSet.Tables)
if (table.Rows.Count != 0) return false;
return true;
}
更新:由于DataTable可能包含已删除的行RowState = Deleted
,因此根据您要实现的目标,最好检查DefaultView
(不包含已删除的行)。
bool IsEmpty(DataSet dataSet)
{
return !dataSet.Tables.Cast<DataTable>().Any(x => x.DefaultView.Count > 0);
}
答案 4 :(得分:5)
我们可以检查三种方式。
if(ds != null)
if(ds.Tables.Count > 0 )
if(ds.Tables[0].Rows.Count > 0)
答案 5 :(得分:1)
此代码将显示错误
Table[0] can not be found!
因为位置0不会有任何表格。
if (ds.Tables[0].Rows.Count == 0)
{
//
}
答案 6 :(得分:0)
MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
adap.Fill(ds);
if (ds.Tables[0].Rows.Count == 0)
{
MessageBox.Show("No result found");
}
查询将接收数据集中的数据,然后我们将检查数据集是否为空或其中包含一些数据。为此我们做到了 ds.tables [0] .Rows.Count == o 这将计算数据集中的行数。如果上述条件为真,则数据集即ds为空。
答案 7 :(得分:0)
不要忘记设置表名 da.Fill(DS, “表名”);
因此,您使用表名而不是0
返回数据if (ds.Tables["tablename"].Rows.Count == 0)
{
MessageBox.Show("No result found");
}
答案 8 :(得分:0)
从SQL查询返回结果时,我发现表[0]存在,但它没有行。所以在我的情况下,这有效:
if(ds.Tables [0] .Rows.Count == 0)// empty
这不起作用:
if(ds.Tables.Count == 0)
答案 9 :(得分:0)
要检查数据集是否为空您必须检查空值和表计数。
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn);
da.Fill(ds);
if(ds != null && ds.Tables.Count > 0)
{
// your code
}
答案 10 :(得分:0)
Fill
命令总是返回插入数据集的记录数。
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn);
var count = da.Fill(ds);
if(count > 0)
{
Console.Write("It is not Empty");
}
答案 11 :(得分:0)
你可以使用这样的东西
import AuthStore from '../stores'
答案 12 :(得分:-1)
这应该有效
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn);
da.Fill(ds);
if(ds.Tables.Count > 0)
{
// enter code here
}
答案 13 :(得分:-4)
If (ds != null)
应该为你工作!