DBNull.Value Campo

Definição

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

public: static initonly DBNull ^ Value;
public static readonly DBNull Value;
 staticval mutable Value : DBNull
Public Shared ReadOnly Value As DBNull 

Valor do campo

Exemplos

O exemplo a seguir chama DBNull.Value.Equals o método 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

DBNullé uma classe singleton, o que significa que somente essa instância dessa classe pode existir.DBNull is a singleton class, which means only this instance of this class can exist.

Se houver dados ausentes em um campo de banco de dado DBNull.Value , você poderá usar a DBNull propriedade para atribuir explicitamente um valor de objeto ao campo.If a database field has missing data, you can use the DBNull.Value property to explicitly assign a DBNull object value to the field. No entanto, a maioria dos provedores de dados faz isso automaticamente.However, most data providers do this automatically.

Para avaliar campos de banco de dados para determinar se DBNullseus valores são, você pode passar o valor DBNull.Value.Equals do campo para o método.To evaluate database fields to determine whether their values are DBNull, you can pass the field value to the DBNull.Value.Equals method. No entanto, esse método raramente é usado porque há várias outras maneiras de avaliar um campo de banco de dados para os que estão faltando.However, this method is rarely used because there are a number of other ways to evaluate a database field for missing data. Isso inclui a função IsDBNull Visual Basic, o Convert.IsDBNull DataTableReader.IsDBNull método, o método, o IDataRecord.IsDBNull método e vários outros métodos.These include the Visual Basic IsDBNull function, the Convert.IsDBNull method, the DataTableReader.IsDBNull method, the IDataRecord.IsDBNull method, and several other methods.

Aplica-se a