DBNull DBNull DBNull DBNull Class

정의

존재하지 않는 값을 나타냅니다.Represents a nonexistent value. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class DBNull sealed : IConvertible, System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class DBNull : IConvertible, System.Runtime.Serialization.ISerializable
type DBNull = class
    interface ISerializable
    interface IConvertible
Public NotInheritable Class DBNull
Implements IConvertible, ISerializable
상속
DBNullDBNullDBNullDBNull
특성
구현

예제

다음 예제에서는 DBNull.Value.Equals 연락처 데이터베이스의 데이터베이스 필드에 올바른 값이 있는지 여부를 결정 하는 방법입니다.The following example calls the DBNull.Value.Equals method to determine whether a database field in a contacts database has a valid value. 이 경우 필드 값이 레이블에 문자열 출력에 추가 됩니다.If it does, the field value is appended to the string output in a label.

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

설명

DBNull 클래스에는 존재 하지 않는 값을 나타냅니다.The DBNull class represents a nonexistent value. 데이터베이스에서 예를 들어, 테이블의 행에 열 수 있습니다 하지 데이터가 전혀.In a database, for example, a column in a row of a table might not contain any data whatsoever. 즉, 열 값을 단순히 없는 대신 아예 존재 하지 않는 간주 됩니다.That is, the column is considered to not exist at all instead of merely not having a value. DBNull 개체 존재 하지 않는 열을 나타냅니다.A DBNull object represents the nonexistent column. 또한 COM interop 사용 된 DBNull 구분 하기 위해 존재 하지 않는 값을 나타내는 VT_NULL variant VT_EMPTY variant 지정 되지 않은 값을 나타내는 클래스입니다.Additionally, COM interop uses the DBNull class to distinguish between a VT_NULL variant, which indicates a nonexistent value, and a VT_EMPTY variant, which indicates an unspecified value.

DBNull 형식은 단일 클래스가 하나만 즉 DBNull 개체가 있습니다.The DBNull type is a singleton class, which means only one DBNull object exists. 합니다 DBNull.Value 멤버가 나타내는 유일한 DBNull 개체입니다.The DBNull.Value member represents the sole DBNull object. DBNull.Value 대부분의 ADO.NET 데이터 공급자의 값을 자동으로 할당 하지만 데이터베이스 필드에 존재 하지 않는 값을 명시적으로 할당에 사용할 수 DBNull 필드를 올바른 값이 없는 합니다.DBNull.Value can be used to explicitly assign a nonexistent value to a database field, although most ADO.NET data providers automatically assign values of DBNull when a field does not have a valid value. 데이터베이스 필드에서 검색 된 값이 있는지 여부를 확인할 수 있습니다는 DBNull 해당 필드의 값을 전달 하 여 값을 DBNull.Value.Equals 메서드.You can determine whether a value retrieved from a database field is a DBNull value by passing the value of that field to the DBNull.Value.Equals method. 하지만 일부 언어 및 데이터베이스 개체 쉽게 데이터베이스 필드의 값이 있는지 여부를 확인 하는 메서드를 제공 DBNull.Value합니다.However, some languages and database objects supply methods that make it easier to determine whether the value of a database field is DBNull.Value. 여기에 Visual Basic IsDBNull 함수는 Convert.IsDBNull 메서드는 DataTableReader.IsDBNull 메서드를 및 IDataRecord.IsDBNull 메서드.These include the Visual Basic IsDBNull function, the Convert.IsDBNull method, the DataTableReader.IsDBNull method, and the IDataRecord.IsDBNull method.

개념을 혼동 하지 마십시오 null 사용 하 여 개체 지향 프로그래밍 언어에서를 DBNull 개체입니다.Do not confuse the notion of null in an object-oriented programming language with a DBNull object. 개체 지향 프로그래밍 언어에서 null 은 개체에 대 한 참조 없음을 의미 합니다.In an object-oriented programming language, null means the absence of a reference to an object. DBNull 초기화 되지 않은 variant 또는 존재 하지 않는 데이터베이스 열을 나타냅니다.DBNull represents an uninitialized variant or nonexistent database column.

필드

Value Value Value Value

DBNull 클래스의 유일한 인스턴스를 나타냅니다.Represents the sole instance of the DBNull class.

메서드

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

ISerializable 인터페이스를 구현하고 DBNull 개체를 serialize하는 데 필요한 데이터를 반환합니다.Implements the ISerializable interface and returns the data needed to serialize the DBNull object.

GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
GetTypeCode() GetTypeCode() GetTypeCode() GetTypeCode()

TypeCode에 대한 DBNull 값을 가져옵니다.Gets the TypeCode value for DBNull.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

빈 문자열(Empty)을 반환합니다.Returns an empty string (Empty).

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

지정된 IFormatProvider를 사용하는 빈 문자열을 반환합니다.Returns an empty string using the specified IFormatProvider.

명시적 인터페이스 구현

IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider)

현재 DBNull 개체를 지정된 형식으로 변환합니다.Converts the current DBNull object to the specified type.

IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider)

이 변환은 지원되지 않습니다.This conversion is not supported. 이 변환을 수행하려고 하면 InvalidCastException이 throw됩니다.Attempting to make this conversion throws an InvalidCastException.

적용 대상

추가 정보