DBNull.Value 필드

정의

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

public: static initonly DBNull ^ Value;
public static readonly DBNull Value;
 staticval mutable Value : DBNull
Public Shared ReadOnly Value As DBNull 

필드 값

예제

다음 예제에서는 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 단일 클래스 즉,이 클래스의이 인스턴스 하나만 존재할 수 있습니다.DBNull is a singleton class, which means only this instance of this class can exist.

데이터베이스 필드에 데이터가 없는 경우 사용할 수 있습니다는 DBNull.Value 명시적으로 할당 하는 속성을 DBNull 개체 필드 값입니다.If a database field has missing data, you can use the DBNull.Value property to explicitly assign a DBNull object value to the field. 그러나 대부분의 데이터 공급자 자동으로 수행 합니다.However, most data providers do this automatically.

해당 값이 같은지를 결정 하는 데이터베이스 필드를 평가할 DBNull, 필드 값을 전달할 수 있습니다는 DBNull.Value.Equals 메서드.To evaluate database fields to determine whether their values are DBNull, you can pass the field value to the DBNull.Value.Equals method. 그러나이 메서드는 누락 된 데이터에 대 한 데이터베이스 필드를 평가 하는 다른 방법은 여러 가지가 있으므로 거의 사용 됩니다.However, this method is rarely used because there are a number of other ways to evaluate a database field for missing data. 여기에 Visual Basic IsDBNull 함수는 Convert.IsDBNull 메서드를를 DataTableReader.IsDBNull 메서드를는 IDataRecord.IsDBNull 메서드와 다른 몇 가지 메서드.These include the Visual Basic IsDBNull function, the Convert.IsDBNull method, the DataTableReader.IsDBNull method, the IDataRecord.IsDBNull method, and several other methods.

적용 대상