DBNull Klasse

Definition

Stellt einen nicht vorhandenen Wert dar. Diese Klasse kann nicht vererbt werden.

public ref class DBNull sealed
public ref class DBNull sealed : IConvertible, System::Runtime::Serialization::ISerializable
public sealed class DBNull
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
type DBNull = class
type DBNull = class
    interface IConvertible
    interface ISerializable
[<System.Serializable>]
type DBNull = class
    interface ISerializable
    interface IConvertible
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type DBNull = class
    interface ISerializable
    interface IConvertible
Public NotInheritable Class DBNull
Public NotInheritable Class DBNull
Implements IConvertible, ISerializable
Vererbung
DBNull
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird die -Methode DBNull.Value.Equals aufrufen, um zu bestimmen, ob ein Datenbankfeld in einer Kontaktdatenbank über einen gültigen Wert verfügt. Wenn dies der Wert ist, wird der Feldwert an die Zeichenfolgenausgabe in einer Bezeichnung angefügt.

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

Hinweise

Die DBNull -Klasse stellt einen nicht vorhandenen Wert dar. In einer Datenbank enthält beispielsweise eine Spalte in einer Zeile einer Tabelle möglicherweise keinerlei Daten. Das heißt, die Spalte wird als überhaupt nicht vorhanden betrachtet, anstatt lediglich keinen Wert zu haben. Ein DBNull -Objekt stellt die nicht vorhandene Spalte dar. Darüber hinaus verwendet COM Interop die -Klasse, um zwischen einer VT_NULL-Variante, die einen nicht vorhandenen Wert angibt, und einer VT_EMPTY-Variante zu unterscheiden, die einen nicht angegebenen Wert DBNull angibt.

Der DBNull Typ ist eine Singletonklasse, was bedeutet, dass nur ein Objekt vorhanden DBNull ist. Der DBNull.Value -Member stellt das einzige DBNull -Objekt dar. DBNull.Valuekann verwendet werden, um einem Datenbankfeld explizit einen nicht vorhandenen Wert zu zuweisen, obwohl die meisten ADO.NET-Datenanbieter automatisch Werte von zuweisen, wenn ein Feld keinen gültigen Wert DBNull hat. Sie können bestimmen, ob ein aus einem Datenbankfeld abgerufener Wert ein Wert ist, indem Sie den Wert dieses Felds DBNull an die -Methode DBNull.Value.Equals übergeben. Einige Sprachen und Datenbankobjekte stellen jedoch Methoden zur Verfügung, mit denen einfacher bestimmt werden kann, ob der Wert eines Datenbankfelds DBNull.Value ist. Dazu gehören IsDBNull Visual Basic-Funktion, Convert.IsDBNull die -Methode, DataTableReader.IsDBNull die -Methode und die IDataRecord.IsDBNull -Methode.

Verwechseln Sie das Konzept von null in einer objektorientierten Programmiersprache nicht mit einem DBNull -Objekt. In einer objektorientierten Programmiersprache null bedeutet das Fehlen eines Verweises auf ein Objekt. DBNull stellt eine nicht initialisierte Variante oder eine nicht vorhandene Datenbankspalte dar.

Felder

Value

Stellt die einzige Instanz der DBNull-Klasse dar.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Implementiert die ISerializable-Schnittstelle und gibt die zum Serialisieren des DBNull-Objekts erforderlichen Daten zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
GetTypeCode()

Ruft den TypeCode-Wert von DBNull ab.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine leere Zeichenfolge zurück (Empty).

ToString(IFormatProvider)

Gibt eine leere Zeichenfolge unter Verwendung des angegebenen IFormatProvider zurück.

Explizite Schnittstellenimplementierungen

IConvertible.ToBoolean(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToByte(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToChar(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToDateTime(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToDecimal(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToDouble(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToInt16(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToInt32(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToInt64(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToSByte(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToSingle(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToType(Type, IFormatProvider)

Konvertiert das aktuelle DBNull-Objekt in den angegebenen Typ.

IConvertible.ToUInt16(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToUInt32(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

IConvertible.ToUInt64(IFormatProvider)

Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.

Gilt für

Siehe auch