Auf Englisch lesen

Freigeben über


Convert.IsDBNull(Object) Methode

Definition

Gibt einen Wert zurück, der angibt, ob das angegebene Objekt vom Typ DBNull ist.

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

Parameter

value
Object

Ein Objekt.

Gibt zurück

true wenn value vom Typ DBNull, andernfalls false.

Beispiele

Im folgenden Beispiel wird ein SqlDataReader -Objekt verwendet, um Umfragedaten aus einer Datenbank abzurufen. Es weist die Feldwerte jeder Zeile einem Array zu und übergibt dann jedes Arrayelement an die IsDBNull -Methode. Wenn die Methode zurückgibt true, weist das Beispiel dem Arrayelement die Zeichenfolge "NA" zu. Das Array wird dann der Rows Auflistung eines Steuerelements System.Windows.Forms.DataGridView hinzugefügt.

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();
}

Hinweise

Die IsDBNull -Methode testet, ob der value Parameter gleich DBNull.Valueist. Es entspricht dem folgenden Code:

return DBNull.Value.Equals(value);

Hinweis

DBNull.Value wird verwendet, um einen Wert anzugeben, der fehlt. Sie entspricht nicht null oder String.Empty. Daher wird Code wie Convert.IsDBNull(null) in C# oder Convert.IsDBNull(Nothing) in Visual Basic zurückgegebenfalse.

Gilt für:

Produkt Versionen
.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

Weitere Informationen