检查数据集的最佳方法有记录

时间:2012-02-07 09:45:23

标签: c# dataset

我很想知道检查数据集中是否有记录的最佳方法。  我一直在使用以下代码来检查数据集是否有某些记录。但我觉得有一些更好/最好的方法可以实现这一目标。

Dataset tableData = New Dataset();
if (_tableData.Tables.Count > 0 && _tableData.Tables[0].Rows.Count > 0)
{ 
}

如果我感觉不对,请分享一些知识。

由于

5 个答案:

答案 0 :(得分:6)

如果任何表中有任何行,则返回true。如果没有表或没有行,它将返回false

DataSet tableData; // ... instantiate DataSet
bool hasRows = tableData.Tables.Cast<DataTable>()
                               .Any(table => table.Rows.Count != 0);

答案 1 :(得分:2)

如果DataSet中有多个表,那么您的逻辑将无法用于某些情况。 这种方法更完整:

bool HasRecords(DataSet dataSet)
{
    foreach (DataTable dt in dataSet.Tables) if (dt.Rows.Count > 0) return true;
    return false;
}

答案 2 :(得分:0)

您可以查看HasChanges(),只有在成功插入数据(包括新行,已删除或已修改的行)时才会生效

        DataSet dSet = new DataSet();
        if (dSet.HasChanges())
        {

        }

您还可以通过DataSet.HasChanges(DataRowState)了解确切地了解添加,修改或删除新行的情况

答案 3 :(得分:0)

如果你在DataSet中有多个DataTable,那就不行了。

不能想到我需要这样做才能说实话。如果我有类似的需求,我会在DataSet中寻找表,假设那里的所有那些都是出于某些功能原因。

所以我可能只是检查customers表是否为空且有一个选择计数,因为如果检查其他任何内容都没有意义。

答案 4 :(得分:0)

http://msdn.microsoft.com/en-us/library/system.data.datatablereader.hasrows.aspx

尝试检查此链接我认为这就是您要做的事情。