SqlDataReader.IsDBNull(Int32) Método

Definição

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

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

Parâmetros

i
Int32

O ordinal de coluna baseado em zero.

Retornos

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

Implementações

Comentários

Chame esse método para verificar se há valores nulos de coluna antes de chamar os métodos de obtenção tipado (por exemplo, GetBytee GetCharassim por diante) para evitar gerar um erro.

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();
      }
   }
}
Imports System.Data
Imports System.Data.SqlClient

Module Module1
   Sub Main()
      Using connection As New SqlConnection("Data Source=(local);Initial Catalog=AdventureWorks2012;Integrated Security=SSPI")
         Dim command As 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()
         Dim reader As SqlDataReader = command.ExecuteReader()
         While reader.Read()
            Console.Write(reader.GetString(reader.GetOrdinal("FirstName")))

            ' display middle name only of not null
            If Not reader.IsDBNull(reader.GetOrdinal("MiddleName")) Then
               Console.Write(" {0}", reader.GetString(reader.GetOrdinal("MiddleName")))
            End If

            Console.WriteLine(" {0}", reader.GetString(reader.GetOrdinal("LastName")))
         End While
         connection.Close()
      End Using
   End Sub
End Module

Aplica-se a

Confira também