Convert.IsDBNull(Object) Metoda

Definicja

Zwraca wskazanie, czy określony obiekt ma typ DBNull.

public static bool IsDBNull(object? value);
public static bool IsDBNull(object value);

Parametry

value
Object

Obiekt.

Zwraca

true jeśli value jest typu DBNull; w przeciwnym razie , false.

Przykłady

W poniższym przykładzie użyto SqlDataReader obiektu do pobrania danych ankiety z bazy danych. Przypisuje wartości pól każdego wiersza do tablicy, a następnie przekazuje każdy element tablicy IsDBNull do metody . Jeśli metoda zwróci truemetodę , przykład przypisuje ciąg "NA" do elementu tablicy. Tablica zostanie następnie dodana do Rows kolekcji kontrolki System.Windows.Forms.DataGridView .

private void Form1_Load(object sender, EventArgs e)
{
   // Define ADO.NET objects.
   SqlConnection conn = new SqlConnection(connectionString);
   SqlCommand cmd = new SqlCommand();
   SqlDataReader dr;

   // Open connection, and retrieve dataset.
   conn.Open();

   // Define Command object.
   cmd.CommandText = "Select * From Responses";
   cmd.CommandType = CommandType.Text;
   cmd.Connection = conn;

   // Retrieve data reader.
   dr = cmd.ExecuteReader();

   int fieldCount = dr.FieldCount;
   object[] fieldValues = new object[fieldCount];
   string[] headers = new string[fieldCount];

   // Get names of fields.
   for (int ctr = 0; ctr < fieldCount; ctr++)
      headers[ctr] = dr.GetName(ctr);

   // Set up data grid.
   this.grid.ColumnCount = fieldCount;

   this.grid.ColumnHeadersDefaultCellStyle.BackColor = Color.Navy;
   this.grid.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
   this.grid.ColumnHeadersDefaultCellStyle.Font = new Font(this.grid.Font, FontStyle.Bold);

   this.grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
   this.grid.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
   this.grid.CellBorderStyle = DataGridViewCellBorderStyle.Single;
   this.grid.GridColor = Color.Black;
   this.grid.RowHeadersVisible = true;

   for (int columnNumber = 0; columnNumber < headers.Length;  columnNumber++)
      this.grid.Columns[columnNumber].Name = headers[columnNumber];

   // Get data, replace missing values with "NA", and display it.
   while (dr.Read())
   {
      dr.GetValues(fieldValues);

      for (int fieldCounter = 0; fieldCounter < fieldCount; fieldCounter++)
      {
         if (Convert.IsDBNull(fieldValues[fieldCounter]))
            fieldValues[fieldCounter] = "NA";
      }
      grid.Rows.Add(fieldValues);
   }
   dr.Close();
}

Uwagi

Metoda IsDBNull sprawdza, czy value parametr jest równy DBNull.Value. Odpowiada to następującemu kodowi:

return DBNull.Value.Equals(value);

Uwaga

DBNull.Value służy do wskazywania brakującej wartości. Nie jest ona równoważna wartościom null lub String.Empty. W związku z tym zwracany jest kod, taki jak Convert.IsDBNull(null) w języku C# lub Convert.IsDBNull(Nothing) w języku Visual Basicfalse.

Dotyczy

Produkt Wersje
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.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

Zobacz też