Convert.IsDBNull(Object) Yöntem

Tanım

Belirtilen nesnenin türünde DBNullolup olmadığını gösteren bir gösterge döndürür.

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

Parametreler

value
Object

Bir nesne.

Döndürülenler

true türündeyse valueDBNull; değilse, false.

Örnekler

Aşağıdaki örnek, veritabanından SqlDataReader anket verilerini almak için bir nesnesi kullanır. Her satırın alan değerlerini bir diziye atar ve ardından her dizi öğesini yöntemine IsDBNull geçirir. yöntemi döndürürse true, örnek dizi öğesine "NA" dizesini atar. Dizi daha sonra bir System.Windows.Forms.DataGridView denetim koleksiyonuna Rows eklenir.

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

Açıklamalar

yöntemi, IsDBNull parametresinin value değerine eşit olup olmadığını sınar DBNull.Value. Aşağıdaki koda eşdeğerdir:

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

Not

DBNull.Value eksik bir değeri belirtmek için kullanılır. veya String.Emptyile null eşdeğer değildir. Bu nedenle, C# veya Convert.IsDBNull(Nothing) Visual Basic gibi Convert.IsDBNull(null) kodlar döndürürfalse.

Şunlara uygulanır

Ürün Sürümler
.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

Ayrıca bkz.