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

本文关键字:记录 方法 最佳 数据集 检查 | 更新日期: 2023-09-27 18:23:49

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

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

如果我感觉正确,请分享一些知识。

感谢

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

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

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

如果DataSet中有多个表,那么您的逻辑在某些场景中不起作用。这种方法更完整:

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

您可以使用HasChanges()进行检查,这只有在成功插入数据(包括新的、删除的或修改的行)时才为真

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

您还可以通过DataSet.HasChanges(DataRowState)获取它,以确切地了解新行是添加、修改还是删除

嗯,如果数据集中有多个DataTable,那就做不到。

老实说,我想不出有什么场合需要这样做。如果我有类似的需求,我会在DataSet中查找表,假设那里的所有表都是出于某种功能原因。

所以我可以用select计数来检查customers表是否为空,因为如果没有必要检查其他内容。