Convert.IsDBNull(Object) Convert.IsDBNull(Object) Convert.IsDBNull(Object) Convert.IsDBNull(Object) Method

Definition

Gibt einen Wert zurück, der angibt, ob das angegebene Objekt vom Typ DBNull ist.Returns an indication whether the specified object is of type DBNull.

public:
 static bool IsDBNull(System::Object ^ value);
public static bool IsDBNull (object value);
static member IsDBNull : obj -> bool
Public Shared Function IsDBNull (value As Object) As Boolean

Parameter

value
Object Object Object Object

Ein Objekt.An object.

Gibt zurück

true wenn value vom Typ DBNull, andernfalls false.true if value is of type DBNull; otherwise, false.

Beispiele

Im folgenden Beispiel wird eine SqlDataReader Objekt, das Survey-Daten aus einer-Datenbank abgerufen.The following example uses a SqlDataReader object to retrieve survey data from a database. Weist jede Zeile der Feldwerte in ein Array, und klicken Sie dann übergibt jedes array-Element, das IsDBNull Methode.It assigns each row's field values to an array, and then passes each array element to the IsDBNull method. Wenn die Methode zurückgibt true, im Beispiel wird die Zeichenfolge "NA" Array-Elements zugewiesen.If the method returns true, the example assigns the string "NA" to the array element. Das Array wird dann hinzugefügt, um die Rows Auflistung von einem System.Windows.Forms.DataGridView Steuerelement.The array is then added to the Rows collection of a System.Windows.Forms.DataGridView control.

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();
}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   ' Define ADO.NET objects.
   Dim conn As New SqlConnection(connectionString)
   Dim cmd As New SqlCommand
   Dim dr As SqlDataReader

   ' 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()

   Dim fieldCount As Integer = dr.FieldCount
   Dim fieldValues(fieldCount - 1) As Object
   Dim headers(fieldCount - 1) As String

   ' Get names of fields.
   For ctr As Integer = 0 To fieldCount - 1
      headers(ctr) = dr.GetName(ctr)
   Next

   ' Set up data grid.
   grid.ColumnCount = fieldCount

   With grid.ColumnHeadersDefaultCellStyle
      .BackColor = Color.Navy
      .ForeColor = Color.White
      .Font = New Font(grid.Font, FontStyle.Bold)
   End With

   With grid
      .AutoSizeRowsMode = _
          DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
      .ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single
      .CellBorderStyle = DataGridViewCellBorderStyle.Single
      .GridColor = Color.Black
      .RowHeadersVisible = True

      For columnNumber As Integer = 0 To headers.Length - 1
         .Columns(columnNumber).Name = headers(columnNumber)
      Next
   End With

   ' Get data, replace missing values with "NA", and display it.
   Do While dr.Read()
      dr.GetValues(fieldValues)

      For fieldCounter As Integer = 0 To fieldCount - 1
         If Convert.IsDBNull(fieldValues(fieldCounter)) Then
            fieldValues(fieldCounter) = "NA"
         End If
      Next
      grid.Rows.Add(fieldValues)
   Loop
   dr.Close()
End Sub

Hinweise

Die IsDBNull -Methode testet, ob die value -Parameter ist gleich DBNull.Value.The IsDBNull method tests whether the value parameter is equal to DBNull.Value. Dies entspricht dem folgenden Code:It is equivalent to the following code:

return DBNull.Value.Equals(value);
Return DBNull.Value.Equals(value)

Hinweis

DBNull.Value Dient zum Angeben eines Werts, das nicht vorhanden ist.DBNull.Value is used to indicate a value that is missing. Es ist nicht gleich null oder String.Empty.It is not equivalent to null or to String.Empty. Daher code wie z. B. Convert.IsDBNull(null) in C# oder Convert.IsDBNull(Nothing) in Visual Basic gibtfalse.Therefore, code such as Convert.IsDBNull(null) in C# or Convert.IsDBNull(Nothing) in Visual Basic returnsfalse.

Gilt für:

Siehe auch