(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

DBNull-Klasse

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

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class DBNull _
	Implements ISerializable, IConvertible

Der DBNull-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetObjectDataImplementiert die ISerializable-Schnittstelle und gibt die zum Serialisieren des DBNull-Objekts erforderlichen Daten zurück.
Öffentliche MethodeUnterstützt von XNA FrameworkGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkGetTypeCodeRuft den TypeCode-Wert von DBNull ab.
Öffentliche MethodeUnterstützt von XNA FrameworkToStringGibt eine leere Zeichenfolge zurück (String.Empty). (Überschreibt Object.ToString.)
Öffentliche MethodeUnterstützt von XNA FrameworkToString(IFormatProvider)Gibt eine leere Zeichenfolge unter Verwendung des angegebenen System.IFormatProvider zurück.
Zum Seitenanfang

  NameBeschreibung
Öffentliches FeldStatischer MemberUnterstützt von XNA FrameworkValueStellt die einzige Instanz der DBNull-Klasse dar.
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToBooleanInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToByteInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToCharInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToDateTimeInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToDecimalInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToDoubleInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToInt16Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToInt32Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToInt64Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToSByteInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToSingleInfrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToTypeInfrastruktur. Konvertiert das aktuelle DBNull-Objekt in den angegebenen Typ.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToUInt16Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToUInt32Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Explizite SchnittstellenimplementierungPrivate MethodeUnterstützt von XNA FrameworkIConvertible.ToUInt64Infrastruktur. Diese Konvertierung wird nicht unterstützt. Bei dem Versuch einer solchen Konvertierung wird eine InvalidCastException ausgelöst.
Zum Seitenanfang

Die DBNull-Klasse stellt einen nicht vorhandenen Wert dar. Bei einer Datenbank könnte es sich beispielsweise um eine Spalte in einer Tabellenzeile handeln, die keinerlei Daten enthält. Das heißt, es fehlt nicht nur der Spaltenwert, sondern die betreffende Spalte existiert nicht. Ein DBNull-Objekt stellt in diesem Fall die nicht vorhandene Spalte dar. COM-Interop verwendet die DBNull-Klasse zusätzlich, um zwischen einer VT_NULL-Variante, die einen nicht vorhandenen Wert darstellt, und einer VT_EMPTY-Variante zu unterscheiden, die einen nicht angegebenen Wert darstellt.

Der DBNull-Typ ist eine Singletonklasse, das heißt, es existiert nur ein DBNull-Objekt. Der DBNull.Value-Member stellt das einzige DBNull-Objekt dar. DBNull.Value kann verwendet werden, um einen nicht vorhandenen Wert explizit einem Datenbankfeld zuzuweisen. Allerdings weisen die meisten ADO.NET-Datenprovider automatisch Werte von DBNull zu, wenn ein Feld keinen gültigen Wert aufweist. Sie können bestimmen, ob ein aus einem Datenbankfeld abgerufener Wert ein DBNull-Wert ist, indem Sie den Wert dieses Felds an die DBNull.Value.Equals-Methode übergeben. Einige Sprachen und Datenbankobjekte stellen jedoch Methoden bereit, mit denen einfacher ermittelt werden kann, ob der Wert eines Datenbankfelds DBNull.Value ist. Hierzu gehören die IsDBNull-Funktion in Visual Basic, die Convert.IsDBNull-Methode, die DataTableReader.IsDBNull-Methode und die IDataRecord.IsDBNull-Methode.

Verwechseln Sie nicht die ein Nullverweis (Nothing in Visual Basic)-Notation in der objektorientierten Programmierung mit dem DBNull-Objekt. In einer objektorientierten Programmiersprache gibt ein Nullverweis (Nothing in Visual Basic) das Fehlen eines Verweises auf ein Objekt an. DBNull stellt eine nicht initialisierte Variante oder eine nicht vorhandene Datenbankspalte dar.

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


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


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft