Convert.IsDBNull(Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen Wert zurück, der angibt, ob das angegebene Objekt vom Typ DBNull ist.
public:
static bool IsDBNull(System::Object ^ value);
public static bool IsDBNull (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.
Gibt zurück
true
wenn value
vom Typ DBNull, andernfalls false
.
Beispiele
Im folgenden Beispiel wird ein SqlDataReader -Objekt verwendet, um Umfragedaten aus einer Datenbank abzurufen. Es weist die Feldwerte jeder Zeile einem Array zu und übergibt dann jedes Arrayelement an die IsDBNull -Methode. Wenn die Methode zurückgibt true
, weist das Beispiel dem Arrayelement die Zeichenfolge "NA" zu. Das Array wird dann der Rows Auflistung eines Steuerelements System.Windows.Forms.DataGridView hinzugefügt.
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();
}
member this.Form1_Load(sender: obj, e: EventArgs) =
// Define ADO.NET objects.
use conn = new SqlConnection(connectionString)
use cmd = new SqlCommand()
// 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.
let dr = cmd.ExecuteReader()
let fieldCount = dr.FieldCount
let fieldValues = Array.zeroCreate<obj> fieldCount
let headers =
// Get names of fields.
Array.init fieldCount dr.GetName
// Set up data grid.
grid.ColumnCount <- fieldCount
grid.ColumnHeadersDefaultCellStyle.BackColor <- Color.Navy
grid.ColumnHeadersDefaultCellStyle.ForeColor <- Color.White
grid.ColumnHeadersDefaultCellStyle.Font <- new Font(grid.Font, FontStyle.Bold)
grid.AutoSizeRowsMode <- DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders
grid.ColumnHeadersBorderStyle <- DataGridViewHeaderBorderStyle.Single
grid.CellBorderStyle <- DataGridViewCellBorderStyle.Single
grid.GridColor <- Color.Black
grid.RowHeadersVisible <- true
for columnNumber = 0 to headers.Length - 1 do
grid.Columns[columnNumber].Name <- headers[columnNumber]
// Get data, replace missing values with "NA", and display it.
while dr.Read() do
dr.GetValues fieldValues |> ignore
for fieldCounter = 0 to fieldCount do
if Convert.IsDBNull fieldValues[fieldCounter] then
fieldValues[fieldCounter] <- "NA"
grid.Rows.Add fieldValues |> ignore
dr.Close()
override _.Dispose(disposing) =
if disposing then
grid.Dispose();
base.Dispose disposing
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. Es entspricht dem folgenden Code:
return DBNull.Value.Equals(value);
DBNull.Value.Equals value
Return DBNull.Value.Equals(value)
Hinweis
DBNull.Value wird verwendet, um einen Wert anzugeben, der fehlt. Sie entspricht nicht null
oder String.Empty. Daher wird Code wie Convert.IsDBNull(null)
in C# oder Convert.IsDBNull(Nothing)
in Visual Basic zurückgegebenfalse
.