İngilizce dilinde oku

Aracılığıyla paylaş


DBNull Sınıf

Tanım

Var olmayan bir değeri temsil eder. Bu sınıf devralınamaz.

C#
public sealed class DBNull
C#
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
C#
[System.Serializable]
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
Devralma
DBNull
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnek, kişi veritabanındaki DBNull.Value.Equals bir veritabanı alanının geçerli bir değere sahip olup olmadığını belirlemek için yöntemini çağırır. Varsa, alan değeri bir etiketteki dize çıkışına eklenir.

C#
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;
}

Açıklamalar

DBNull sınıfı var olmayan bir değeri temsil eder. Örneğin bir veritabanında, tablonun bir satırındaki sütun herhangi bir veri içermeyebilir. Başka bir ifadeyle, sütunun yalnızca bir değere sahip olmaması yerine hiç var olmadığı kabul edilir. Nesne DBNull , var olmayan sütunu temsil eder. Buna ek olarak, COM birlikte çalışma sınıfını DBNull kullanarak var olmayan bir değeri gösteren VT_NULL bir değişken ile belirtilmemiş bir değeri gösteren VT_EMPTY değişkenini ayırt eder.

Tür DBNull tekil bir sınıftır ve bu da yalnızca bir DBNull nesnenin var olduğu anlamına gelir. Üye DBNull.Value tek DBNull nesneyi temsil eder. DBNull.Value bir veritabanı alanına var olmayan bir değeri açıkça atamak için kullanılabilir, ancak çoğu ADO.NET veri sağlayıcısı bir alanın geçerli bir değeri olmadığında değerlerini DBNull otomatik olarak atar. Veritabanı alanından alınan bir değerin değer olup olmadığını belirlemek için bu alanın DBNull değerini yöntemine DBNull.Value.Equals geçirebilirsiniz. Ancak, bazı diller ve veritabanı nesneleri, veritabanı alanının DBNull.Valuedeğerinin olup olmadığını belirlemeyi kolaylaştıran yöntemler sağlar. Bunlar Visual Basic IsDBNull işlevini, Convert.IsDBNull yöntemini, DataTableReader.IsDBNull yöntemini ve IDataRecord.IsDBNull yöntemini içerir.

Nesne odaklı bir programlama dilindeki fikir null bir nesne ile DBNull karıştırmayın. Nesne odaklı programlama dilinde, null bir nesneye başvuru olmaması anlamına gelir. DBNull başlatılmamış bir değişken veya var olmayan bir veritabanı sütununu temsil eder.

Alanlar

Value

Sınıfının tek örneğini DBNull temsil eder.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetObjectData(SerializationInfo, StreamingContext)
Geçersiz.

arabirimini ISerializable uygular ve nesneyi seri hale DBNull getirmek için gereken verileri döndürür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GetTypeCode()

TypeCode değerini DBNullalır.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Boş bir dize (Empty ) döndürür.

ToString(IFormatProvider)

Belirtilen IFormatProvideröğesini kullanarak boş bir dize döndürür.

Belirtik Arabirim Kullanımları

IConvertible.ToBoolean(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToByte(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToChar(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToDateTime(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToDecimal(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToDouble(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToInt16(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToInt32(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToInt64(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToSByte(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToSingle(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToType(Type, IFormatProvider)

Geçerli DBNull nesneyi belirtilen türe dönüştürür.

IConvertible.ToUInt16(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToUInt32(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

IConvertible.ToUInt64(IFormatProvider)

Bu dönüşüm desteklenmiyor. Bu dönüştürmenin denenmesi bir InvalidCastExceptionoluşturur.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Ayrıca bkz.