Search code examples
c#ado.net

How to check empty DataTable


I have a DataSet where I need to find out how many rows has been changed using the following code:

dataTable1 = dataSet1.Tables["FooTable"].GetChanges();

foreach (DataRow dr in dataTable1)
{
  // ...
}

DataSet has DataSet.HasRow but DataTable doesn't have such method. If there is no changed rows. changedDT1 will be a null value, causing the loop to throw exception.

How do I check if DataTable is empty? I tried Rows.Count - doesn't work...


Solution

  • If dataTable1 is null, it is not an empty datatable.

    Simply wrap your foreach in an if-statement that checks if dataTable1 is null. Make sure that your foreach counts over DataTable1.Rows or you will get a compilation error.

        if (dataTable1 != null)
        {
           foreach (DataRow dr in dataTable1.Rows)
           {
              // ...
           }
        }