DBNull.Value フィールド
定義
public: static initonly DBNull ^ Value;
public static readonly DBNull Value;
staticval mutable Value : DBNull
Public Shared ReadOnly Value As DBNull
フィールド値
例
次の例では、メソッドを呼び出して、 DBNull.Value.Equals
contacts データベースのデータベースフィールドに有効な値があるかどうかを確認します。The following example calls the DBNull.Value.Equals
method to determine whether a database field in a contacts database has a valid value. この値が指定されている場合は、ラベルの文字列出力にフィールド値が追加されます。If it does, the field value is appended to the string output in a label.
private void OutputLabels(DataTable dt)
{
string label;
// Iterate rows of table
foreach (DataRow row in dt.Rows)
{
int labelLen;
label = String.Empty;
label += AddFieldValue(label, row, "Title");
label += AddFieldValue(label, row, "FirstName");
label += AddFieldValue(label, row, "MiddleInitial");
label += AddFieldValue(label, row, "LastName");
label += AddFieldValue(label, row, "Suffix");
label += "\n";
label += AddFieldValue(label, row, "Address1");
label += AddFieldValue(label, row, "AptNo");
label += "\n";
labelLen = label.Length;
label += AddFieldValue(label, row, "Address2");
if (label.Length != labelLen)
label += "\n";
label += AddFieldValue(label, row, "City");
label += AddFieldValue(label, row, "State");
label += AddFieldValue(label, row, "Zip");
Console.WriteLine(label);
Console.WriteLine();
}
}
private string AddFieldValue(string label, DataRow row,
string fieldName)
{
if (! DBNull.Value.Equals(row[fieldName]))
return (string) row[fieldName] + " ";
else
return String.Empty;
}
Private Sub OUtputLabels(dt As DataTable)
Dim label As String
' Iterate rows of table
For Each row As DataRow In dt.Rows
Dim labelLen As Integer
label = String.Empty
label += AddFieldValue(label, row, "Title")
label += AddFieldValue(label, row, "FirstName")
label += AddFieldValue(label, row, "MiddleInitial")
label += AddFieldValue(label, row, "LastName")
label += AddFieldValue(label, row, "Suffix")
label += vbCrLf
label += AddFieldValue(label, row, "Address1")
label += AddFieldValue(label, row, "AptNo")
label += vbCrLf
labelLen = Len(label)
label += AddFieldValue(label, row, "Address2")
If Len(label) <> labelLen Then label += vbCrLf
label += AddFieldValue(label, row, "City")
label += AddFieldValue(label, row, "State")
label += AddFieldValue(label, row, "Zip")
Console.WriteLine(label)
Console.WriteLine()
Next
End Sub
Private Function AddFieldValue(label As String, row As DataRow, _
fieldName As String) As String
If Not DbNull.Value.Equals(row.Item(fieldName)) Then
Return CStr(row.Item(fieldName)) & " "
Else
Return Nothing
End If
End Function
注釈
DBNull はシングルトンクラスであり、このクラスのこのインスタンスのみが存在できることを意味します。DBNull is a singleton class, which means only this instance of this class can exist.
データベースフィールドにデータが欠落している場合は、プロパティを使用して、 DBNull.Value フィールドにオブジェクトの値を明示的に割り当てることができ DBNull ます。If a database field has missing data, you can use the DBNull.Value property to explicitly assign a DBNull object value to the field. ただし、ほとんどのデータプロバイダーは自動的にこれを行います。However, most data providers do this automatically.
データベースフィールドを評価してその値がであるかどうかを判断するには、 DBNull フィールド値をメソッドに渡すことができ DBNull.Value.Equals
ます。To evaluate database fields to determine whether their values are DBNull, you can pass the field value to the DBNull.Value.Equals
method. ただし、この方法はほとんど使用されません。データが不足している場合にデータベースフィールドを評価するには、他にも多くの方法があります。However, this method is rarely used because there are a number of other ways to evaluate a database field for missing data. これには、Visual Basic 関数、メソッド、メソッド、メソッド、 IsDBNull
Convert.IsDBNull DataTableReader.IsDBNull IDataRecord.IsDBNull およびその他のいくつかのメソッドが含まれます。These include the Visual Basic IsDBNull
function, the Convert.IsDBNull method, the DataTableReader.IsDBNull method, the IDataRecord.IsDBNull method, and several other methods.