Convert.IsDBNull(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したオブジェクトの型が DBNull かどうかを示す値を返します。
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
パラメーター
- value
- Object
オブジェクト。
戻り値
true
の型が value
の場合は DBNull。それ以外の場合は false
。
例
次の例では、 オブジェクトを SqlDataReader 使用してデータベースからアンケート データを取得します。 各行のフィールド値を配列に割り当て、各配列要素を メソッドに IsDBNull 渡します。 メソッドが を返す true
場合、この例では文字列 "NA" を配列要素に割り当てます。 その後、配列がコントロールの Rows コレクションに System.Windows.Forms.DataGridView 追加されます。
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
注釈
メソッドは IsDBNull 、 パラメーターが value
と等しいかどうかをテストします DBNull.Value。 これは、次のコードと同じです。
return DBNull.Value.Equals(value);
DBNull.Value.Equals value
Return DBNull.Value.Equals(value)
注意
DBNull.Value は、不足している値を示すために使用されます。 または と同等null
String.Emptyではありません。 したがって、C# や Convert.IsDBNull(Nothing)
Visual Basic の などのConvert.IsDBNull(null)
コードは を返しますfalse
。
適用対象
こちらもご覧ください
.NET