Ler em inglês

Compartilhar via


Convert.IsDBNull(Object) Método

Definição

Retorna uma indicação de que se o objeto especificado é do tipo DBNull.

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

Parâmetros

value
Object

Um objeto.

Retornos

true se value for do tipo DBNull; caso contrário, false.

Exemplos

O exemplo a seguir usa um SqlDataReader objeto para recuperar dados de pesquisa de um banco de dados. Ele atribui os valores de campo de cada linha a uma matriz e, em seguida, passa cada elemento de matriz para o IsDBNull método . Se o método retornar true, o exemplo atribuirá a cadeia de caracteres "NA" ao elemento de matriz. Em seguida, a matriz é adicionada à Rows coleção de um System.Windows.Forms.DataGridView controle .

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

Comentários

O IsDBNull método testa se o value parâmetro é igual a DBNull.Value. É equivalente ao seguinte código:

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

Observação

DBNull.Value é usado para indicar um valor ausente. Não é equivalente a null ou a String.Empty. Portanto, o código, como Convert.IsDBNull(null) em C# ou Convert.IsDBNull(Nothing) no Visual Basic, retornafalse.

Aplica-se a

Produto Versões
.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

Confira também