DBNull

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 方法和其他几种方法。

你可能感兴趣的:(null)