DBNull.Value DBNull.Value DBNull.Value DBNull.Value Field

Definición

Representa la única instancia de la clase 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 de campo

Ejemplos

El ejemplo siguiente se llama el DBNull.Value.Equals método para determinar si un campo de base de datos en una base de datos de contactos tiene un 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. Si es así, el valor del campo se anexa a la salida de cadena en una etiqueta.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

Comentarios

DBNull es una clase singleton, lo que significa que puede existir solo en esta instancia de esta clase.DBNull is a singleton class, which means only this instance of this class can exist.

Si un campo de base de datos tiene datos que faltan, puede usar el DBNull.Value propiedad para asignar explícitamente un DBNull valor al campo del objeto.If a database field has missing data, you can use the DBNull.Value property to explicitly assign a DBNull object value to the field. Sin embargo, la mayoría de los proveedores de datos hacen esto automáticamente.However, most data providers do this automatically.

Para evaluar los campos de la base de datos para determinar si sus valores son DBNull, puede pasar el valor del campo para el DBNull.Value.Equals 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. Sin embargo, este método se usa con poca frecuencia porque hay una serie de otras maneras de evaluar un campo de base de datos para los datos que faltan.However, this method is rarely used because there are a number of other ways to evaluate a database field for missing data. Estos incluyen Visual Basic IsDBNull función, el Convert.IsDBNull método, el DataTableReader.IsDBNull método, el IDataRecord.IsDBNull método y muchos otros 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.

Se aplica a