The strongly typed DataSet adds two methods for each column, IsColumnNameNull( ) and SetColumnNameNull( ), to make it easier and more intuitive to work with null values in DataRow columns. IsColumnNameNull( ) returns a Boolean value indicating whether the underlying field value is null, while SetColumnNameNull( ) sets the value of the underlying field to DBNull. The following sample demonstrates using the strongly typed DataSet null handling methods:
// strongly typed DataSet called Northwind containing the Orders table Northwind.OrdersDataTable ordersTable = new Northwind.OrdersDataTable(); // ... code to add new rows to, or Fill the Orders table // check whether the CustomerID of the first row is null Northwind.OrdersRow ordersRow = ordersTable[0]; if(ordersRow.IsCustomerIDNull()) { // ... code to handle the null CustomerID condition } // set the EmployeeID to null ordersRow.SetEmployeeIDNull();
This example shows comparable code using an untyped DataSet:
// untyped DataSet containing the Orders table DataSet ds = new DataSet("Northwind"); DataTable ordersTable = ds.Tables.Add("Orders"); // ... code to define or retrieve the schema for the DataTable // ... code to add new rows to, or Fill the Orders table // check whether the CustomerID of the first row is null DataRow ordersRow = ordersTable.Rows[0]; if(ordersRow.IsNull("CustomerID")) { // ... code to handle the null CustomerID condition } // set the EmployeeID to null ordersRow["EmployeeID"] = Convert.DBNull;