Convert.IsDBNull(Object) Methode
Definition
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
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 ein SqlDataReader Objekt verwendet, um Umfragedaten aus einer Datenbank abzurufen.The following example uses a SqlDataReader object to retrieve survey data from a database. Dabei werden die Feldwerte der einzelnen Zeilen einem Array zugewiesen, und dann werden die einzelnen Array Elemente an die IsDBNull Methode weitergeleitet.It assigns each row's field values to an array, and then passes each array element to the IsDBNull method. Wenn die Methode true
zurückgibt, weist das Beispiel dem Array Element die Zeichenfolge "na" zu.If the method returns true
, the example assigns the string "NA" to the array element. Das Array wird dann der Rows-Auflistung eines System.Windows.Forms.DataGridView Steuer Elements hinzugefügt.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 der value
Parameter gleich DBNull.Valueist.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 wird verwendet, um einen Wert anzugeben, der fehlt.DBNull.Value is used to indicate a value that is missing. Es entspricht nicht null
oder String.Empty.It is not equivalent to null
or to String.Empty. Daher gibt Code wie Convert.IsDBNull(null)
in C# oder Convert.IsDBNull(Nothing)
in Visual Basicfalse
zurück.Therefore, code such as Convert.IsDBNull(null)
in C# or Convert.IsDBNull(Nothing)
in Visual Basic returnsfalse
.