SqlDataReader.IsDBNull Method (Int32)

 

Gets a value that indicates whether the column contains non-existent or missing values.

Namespace:   System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)

public override bool IsDBNull(
	int i
)

Parameters

i
Type: System.Int32

The zero-based column ordinal.

Return Value

Type: System.Boolean

true if the specified column value is equivalent to DBNull; otherwise false.

Call this method to check for null column values before calling the typed get methods (for example, GetByte, GetChar, and so on) to avoid raising an error.

using System;
using System.Data;
using System.Data.SqlClient;

class Program {
   static void Main(string[] args) {

      using (var connection = new SqlConnection(@"Data Source=(local);Initial Catalog=AdventureWorks2012;Integrated Security=SSPI")) {
         var command = new SqlCommand("SELECT p.FirstName, p.MiddleName, p.LastName FROM HumanResources.Employee AS e" +
                                 " JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID;", connection);
         connection.Open();
         var reader = command.ExecuteReader();
         while (reader.Read()) {
            Console.Write(reader.GetString(reader.GetOrdinal("FirstName")));
            // display middle name only of not null
            if (!reader.IsDBNull(reader.GetOrdinal("MiddleName")))
               Console.Write(" {0}", reader.GetString(reader.GetOrdinal("MiddleName")));
            Console.WriteLine(" {0}", reader.GetString(reader.GetOrdinal("LastName")));
         }
         connection.Close();
      }
   }
}

.NET Framework
Available since 1.1
Return to top
Show: