DBNull Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Var olmayan bir değeri temsil eder. Bu sınıf devralınamaz.
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
- 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.
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;
}
member this.OutputLabels(dt: DataTable) =
let mutable label = ""
// Iterate rows of table
for row in dt.Rows do
let mutable label = String.Empty
label <- label + this.AddFieldValue(label, row, "Title")
label <- label + this.AddFieldValue(label, row, "FirstName")
label <- label + this.AddFieldValue(label, row, "MiddleInitial")
label <- label + this.AddFieldValue(label, row, "LastName")
label <- label + this.AddFieldValue(label, row, "Suffix")
label <- label + "\n"
label <- label + this.AddFieldValue(label, row, "Address1")
label <- label + this.AddFieldValue(label, row, "AptNo")
label <- label + "\n"
let labelLen = label.Length
label <- label + this.AddFieldValue(label, row, "Address2")
let labelLen =
if label.Length <> labelLen then
label + "\n"
else label
label <- label + this.AddFieldValue(label, row, "City")
label <- label + this.AddFieldValue(label, row, "State")
label <- label + this.AddFieldValue(label, row, "Zip")
printfn $"{label}"
printfn ""
member _.AddFieldValue(label: string, row: DataRow, fieldName: string) =
if DBNull.Value.Equals row[fieldName] |> not then
(string row[fieldName]) + " "
else
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
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() | |
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. |