Ler en inglés

Compartir por


Convert.IsDBNull(Object) Método

Definición

Devuelve una indicación en la que se precisa si el objeto especificado es de tipo DBNull.

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

Parámetros

value
Object

Objeto.

Devoluciones

true si value es de tipo DBNull; en caso contrario, false.

Ejemplos

En el ejemplo siguiente se usa un SqlDataReader objeto para recuperar datos de encuesta de una base de datos. Asigna los valores de campo de cada fila a una matriz y, a continuación, pasa cada elemento de matriz al IsDBNull método . Si el método devuelve true, el ejemplo asigna la cadena "NA" al elemento de matriz. A continuación, la matriz se agrega a la Rows colección de un System.Windows.Forms.DataGridView control .

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

Comentarios

El IsDBNull método comprueba si el value parámetro es igual a DBNull.Value. Es equivalente al código siguiente:

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

Nota

DBNull.Value se usa para indicar un valor que falta. No es equivalente a null ni a String.Empty. Por lo tanto, el código como Convert.IsDBNull(null) en C# o Convert.IsDBNull(Nothing) en Visual Basic devuelvefalse.

Se aplica a

Produto Versións
.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

Consulte también