Compartilhar via


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:
 virtual bool IsDBNull(int i);
public override bool IsDBNull (int i);
public bool IsDBNull (int i);
override this.IsDBNull : int -> bool
abstract member IsDBNull : int -> bool
override this.IsDBNull : int -> bool
Public Overrides Function IsDBNull (i As Integer) As Boolean
Public 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 marcar para 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 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