英語で読む

次の方法で共有


DBNull.Value フィールド

定義

DBNull クラスの唯一のインスタンスを表します。

C#
public static readonly DBNull Value;

フィールド値

次の例では、 メソッドを DBNull.Value.Equals 呼び出して、連絡先データベースのデータベース フィールドに有効な値があるかどうかを判断します。 その場合、フィールド値はラベルの文字列出力に追加されます。

C#
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;
}

注釈

DBNull はシングルトン クラスです。これは、このクラスのこのインスタンスのみが存在できることを意味します。

データベース フィールドにデータがない場合は、 プロパティを DBNull.Value 使用して、フィールドにオブジェクト値を DBNull 明示的に割り当てることができます。 ただし、ほとんどのデータ プロバイダーは自動的にこれを行います。

データベース フィールドを評価して値 DBNullが であるかどうかを判断するには、フィールド値を メソッドに DBNull.Value.Equals 渡します。 ただし、データベース フィールドに不足しているデータを評価する方法が他に多数存在するため、この方法はほとんど使用されません。 これには、Visual Basic IsDBNull 関数、 Convert.IsDBNull メソッド、メソッド、 DataTableReader.IsDBNull メソッド、 IDataRecord.IsDBNull およびその他のいくつかのメソッドが含まれます。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0