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.

適用於