Leggere in inglese

Condividi tramite


Convert.IsDBNull(Object) Metodo

Definizione

Indica se l'oggetto specificato è di tipo DBNull.

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

Parametri

value
Object

Oggetto.

Restituisce

true se value è di tipo DBNull ; in caso contrario, false.

Esempio

Nell'esempio seguente viene usato un SqlDataReader oggetto per recuperare i dati del sondaggio da un database. Assegna i valori di campo di ogni riga a una matrice e quindi passa ogni elemento matrice al IsDBNull metodo . Se il metodo restituisce true, l'esempio assegna la stringa "NA" all'elemento array. La matrice viene quindi aggiunta alla Rows raccolta di un System.Windows.Forms.DataGridView controllo.

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

Commenti

Il IsDBNull metodo verifica se il value parametro è uguale a DBNull.Value. Equivale al codice seguente:

C#
return DBNull.Value.Equals(value);

Nota

DBNull.Value viene usato per indicare un valore mancante. Non è equivalente a o a nullString.Empty. Pertanto, il codice, ad Convert.IsDBNull(null) esempio in C# o Convert.IsDBNull(Nothing) in Visual Basic, restituiscefalse.

Si applica a

Prodotto Versioni
.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

Vedi anche