Removing Nulls from a DataTable

The individual cells in a DataTable can have a null value in the form of System.DbNull.Value.

If the DataTable is created by querying a database through ADO.NET, you can write the SQL statement in a way eliminates nulls. It could look like this “SELECT isnull(name, ‘n/a’) AS name FROM products”.

However, there can be scenarios where you don’t have the chance to manipulate the DataTable before you use it.

Such a scenario have I recently been involved in and the problem was that the data retrieved from a database could contain nulls in any of the integer type columns.

If I then bind the DataTable to a GridView in ASP.NET, I had to do a lot of workarounds to calculate footers and other values based on those columns.

Instead of doing the workarounds in a lot of different places in the code, I decided it was a better idea to clean the DataTable for nulls before it is used.

That led to the CleanDataTable method below, that replaces null values with zeros for a few integer type columns.

/// <summary>
/// In the case of null values in a data table, this method
/// will turn all nulls into zeros instead.
/// </summary>
public static DataTable CleanDataTable(DataTable dt)

{
   for (int a = 0; a

The point is that you only have to clean it ones and avoid any workaround for handling null values.

Comments

Add to Del.icio.us | Digg | Reddit | Furl

Bookmark Murdok:

Mads Kristensen currently works as a Senior Developer at Traceworks located
in Copenhagen, Denmark. Mads graduated from Copenhagen Technical Academy with a multimedia degree in
2003, but has been a professional developer since 2000. His main focus is on ASP.NET but is responsible for Winforms, Windows- and
web services in his daily work as well. A true .NET developer with great passion for the simple solution.

Home


Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top