SqlDataReader.IsDBNull(Int32) Método

Definição

Obtém um valor que indica se a coluna contém valores ausentes ou inexistente.

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

Parâmetros

i
Int32

O ordinal da coluna baseado em zero.

Retornos

true se o valor da coluna especificada for equivalente a DBNull; caso contrário, false.

Implementações

Comentários

Chame esse método para verificar se há valores de coluna nulos antes de chamar os métodos get tipados (por exemplo, GetByte, GetChare assim por diante) para evitar gerar um erro.

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

Aplica-se a