(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)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DBNull : 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 FrameworkToString()Gibt 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 null-Notation in der objektorientierten Programmierung mit dem DBNull-Objekt. In einer objektorientierten Programmiersprache gibt null 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 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;
}


.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
Anzeigen:
© 2014 Microsoft