SqlDataReader.IsDBNull(Int32) Method

Definition

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

public:
 override bool IsDBNull(int i);
public override bool IsDBNull (int i);
override this.IsDBNull : int -> bool
Public Overrides Function IsDBNull (i As Integer) As Boolean

Parameters

i
Int32

The zero-based column ordinal.

Returns

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

Implements

Remarks

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 Microsoft.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();
        }
    }
}

Applies to