Lire en anglais

Partager via


Convert.IsDBNull(Object) Méthode

Définition

Retourne une indication précisant si l'objet spécifié est de type DBNull.

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

Paramètres

value
Object

Objet.

Retours

true si value est de type DBNull, sinon, false.

Exemples

L’exemple suivant utilise un SqlDataReader objet pour récupérer des données d’enquête à partir d’une base de données. Il affecte les valeurs de champ de chaque ligne à un tableau, puis passe chaque élément de tableau à la IsDBNull méthode . Si la méthode retourne true, l’exemple attribue la chaîne « NA » à l’élément tableau. Le tableau est ensuite ajouté à la Rows collection d’un System.Windows.Forms.DataGridView contrôle.

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

Remarques

La IsDBNull méthode teste si le value paramètre est égal à DBNull.Value. Il équivaut au code suivant :

return DBNull.Value.Equals(value);

Notes

DBNull.Value est utilisé pour indiquer une valeur manquante. Il n’est pas équivalent à null ou à String.Empty. Par conséquent, le code comme Convert.IsDBNull(null) en C# ou Convert.IsDBNull(Nothing) en Visual Basic retournefalse.

S’applique à

Produit Versions
.NET 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

Voir aussi