DBNull.Value DBNull.Value DBNull.Value DBNull.Value Field

定義

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.

適用対象