DBNull Classe

Definição

Representa um valor inexistente.Represents a nonexistent value. Esta classe não pode ser herdada.This class cannot be inherited.

public ref class DBNull sealed : IConvertible, System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
type DBNull = class
    interface ISerializable
    interface IConvertible
Public NotInheritable Class DBNull
Implements IConvertible, ISerializable
Herança
DBNull
Atributos
Implementações

Exemplos

O exemplo a seguir chama o método DBNull.Value.Equals para determinar se um campo de banco de dados em um banco de dados de contatos tem um valor válido.The following example calls the DBNull.Value.Equals method to determine whether a database field in a contacts database has a valid value. Se tiver, o valor do campo será acrescentado à saída da cadeia de caracteres em um rótulo.If it does, the field value is appended to the string output in a label.

private void OutputLabels(DataTable dt)
{
   string label; 

   // Iterate rows of table
   foreach (DataRow row in dt.Rows)
   {
      int labelLen;
      label = String.Empty;
      label += AddFieldValue(label, row, "Title");
      label += AddFieldValue(label, row, "FirstName");
      label += AddFieldValue(label, row, "MiddleInitial");
      label += AddFieldValue(label, row, "LastName");
      label += AddFieldValue(label, row, "Suffix");
      label += "\n";
      label += AddFieldValue(label, row, "Address1");
      label += AddFieldValue(label, row, "AptNo");
      label += "\n";
      labelLen = label.Length;
      label += AddFieldValue(label, row, "Address2");
      if (label.Length != labelLen)
         label += "\n";
      label += AddFieldValue(label, row, "City");
      label += AddFieldValue(label, row, "State");
      label += AddFieldValue(label, row, "Zip");
      Console.WriteLine(label);
      Console.WriteLine();
   }
}

private string AddFieldValue(string label, DataRow row, 
                             string fieldName) 
{                                
   if (! DBNull.Value.Equals(row[fieldName])) 
      return (string) row[fieldName] + " ";
   else
      return String.Empty;
}
Private Sub OUtputLabels(dt As DataTable)
   Dim label As String 

   ' Iterate rows of table
   For Each row As DataRow In dt.Rows
      Dim labelLen As Integer
      label = String.Empty
      label += AddFieldValue(label, row, "Title")
      label += AddFieldValue(label, row, "FirstName")
      label += AddFieldValue(label, row, "MiddleInitial")
      label += AddFieldValue(label, row, "LastName")
      label += AddFieldValue(label, row, "Suffix")
      label += vbCrLf
      label += AddFieldValue(label, row, "Address1")
      label += AddFieldValue(label, row, "AptNo")
      label += vbCrLf
      labelLen = Len(label)
      label += AddFieldValue(label, row, "Address2")
      If Len(label) <> labelLen Then label += vbCrLf
      label += AddFieldValue(label, row, "City")
      label += AddFieldValue(label, row, "State")
      label += AddFieldValue(label, row, "Zip")
      Console.WriteLine(label)
      Console.WriteLine()
   Next
End Sub

Private Function AddFieldValue(label As String, row As DataRow, _
                          fieldName As String) As String
   If Not DbNull.Value.Equals(row.Item(fieldName)) Then
      Return CStr(row.Item(fieldName)) & " "
   Else
      Return Nothing
   End If
End Function

Comentários

A classe DBNull representa um valor inexistente.The DBNull class represents a nonexistent value. Em um banco de dados, por exemplo, uma coluna em uma linha de uma tabela pode não conter nenhum dado.In a database, for example, a column in a row of a table might not contain any data whatsoever. Ou seja, a coluna é considerada como não existir, em vez de simplesmente não ter um valor.That is, the column is considered to not exist at all instead of merely not having a value. Um objeto DBNull representa a coluna inexistente.A DBNull object represents the nonexistent column. Além disso, a interoperabilidade COM usa a classe DBNull para distinguir entre uma variante VT_NULL, que indica um valor inexistente e uma variante VT_EMPTY, que indica um valor não especificado.Additionally, COM interop uses the DBNull class to distinguish between a VT_NULL variant, which indicates a nonexistent value, and a VT_EMPTY variant, which indicates an unspecified value.

O tipo de DBNull é uma classe singleton, o que significa que apenas um objeto DBNull existe.The DBNull type is a singleton class, which means only one DBNull object exists. O membro DBNull.Value representa o único objeto DBNull.The DBNull.Value member represents the sole DBNull object. o DBNull.Value pode ser usado para atribuir explicitamente um valor inexistente a um campo de banco de dados, embora a maioria dos provedores de data ADO.NET atribua automaticamente valores de DBNull quando um campo não tem um valor válido.DBNull.Value can be used to explicitly assign a nonexistent value to a database field, although most ADO.NET data providers automatically assign values of DBNull when a field does not have a valid value. Você pode determinar se um valor recuperado de um campo de banco de dados é um valor DBNull passando o valor desse campo para o método DBNull.Value.Equals.You can determine whether a value retrieved from a database field is a DBNull value by passing the value of that field to the DBNull.Value.Equals method. No entanto, alguns idiomas e objetos de banco de dados fornecem métodos que facilitam a determinação se o valor de um campo de banco de dados é DBNull.Value.However, some languages and database objects supply methods that make it easier to determine whether the value of a database field is DBNull.Value. Isso inclui a função Visual Basic IsDBNull, o método Convert.IsDBNull, o método DataTableReader.IsDBNull e o método IDataRecord.IsDBNull.These include the Visual Basic IsDBNull function, the Convert.IsDBNull method, the DataTableReader.IsDBNull method, and the IDataRecord.IsDBNull method.

Não confunda a noção de null em uma linguagem de programação orientada a objeto com um objeto DBNull.Do not confuse the notion of null in an object-oriented programming language with a DBNull object. Em uma linguagem de programação orientada a objeto, null significa a ausência de uma referência a um objeto.In an object-oriented programming language, null means the absence of a reference to an object. DBNull representa uma variante não inicializada ou uma coluna de banco de dados inexistente.DBNull represents an uninitialized variant or nonexistent database column.

Campos

Value

Representa a instância exclusiva da classe DBNull.Represents the sole instance of the DBNull class.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Implementa a interface ISerializable e retorna os dados necessários para serializar o objeto DBNull.Implements the ISerializable interface and returns the data needed to serialize the DBNull object.

GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
GetTypeCode()

Obtém o TypeCode valor para DBNull.Gets the TypeCode value for DBNull.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres vazia (Empty).Returns an empty string (Empty).

ToString(IFormatProvider)

Retorna uma cadeia de caracteres vazia usando o especificado IFormatProvider.Returns an empty string using the specified IFormatProvider.

Implantações explícitas de interface

IConvertible.ToBoolean(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToByte(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToChar(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToDateTime(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToDecimal(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToDouble(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToInt16(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToInt32(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToInt64(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToSByte(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToSingle(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToType(Type, IFormatProvider)

Converte o objeto DBNull atual no tipo especificado.Converts the current DBNull object to the specified type.

IConvertible.ToUInt16(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToUInt32(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToUInt64(IFormatProvider)

Esta conversão não é suportada.This conversion is not supported. A tentativa de fazer essa conversão gera uma InvalidCastException.Attempting to make this conversion throws an InvalidCastException.

Aplica-se a

Veja também