Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

DBNull.Value Field

Definition

Namespace:
System
Assemblies:
mscorlib.dll, System.Data.Common.dll
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Data.Common.dll
Assembly:
System.Runtime.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll
Source:
DBNull.cs
Source:
DBNull.cs
Source:
DBNull.cs
Source:
DBNull.cs
Source:
DBNull.cs

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Represents the sole instance of the DBNull class.

public: static initonly DBNull ^ Value;
public static readonly DBNull Value;
 staticval mutable Value : DBNull
Public Shared ReadOnly Value As DBNull 

Field Value

Examples

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;
}
member this.OutputLabels(dt: DataTable) =
 let mutable label = ""

 // Iterate rows of table
 for row in dt.Rows do
 let mutable label = String.Empty
 label <- label + this.AddFieldValue(label, row, "Title")
 label <- label + this.AddFieldValue(label, row, "FirstName")
 label <- label + this.AddFieldValue(label, row, "MiddleInitial")
 label <- label + this.AddFieldValue(label, row, "LastName")
 label <- label + this.AddFieldValue(label, row, "Suffix")
 label <- label + "\n"
 label <- label + this.AddFieldValue(label, row, "Address1")
 label <- label + this.AddFieldValue(label, row, "AptNo")
 label <- label + "\n"
 let labelLen = label.Length
 label <- label + this.AddFieldValue(label, row, "Address2")
 let labelLen =
 if label.Length <> labelLen then
 label + "\n"
 else label
 label <- label + this.AddFieldValue(label, row, "City")
 label <- label + this.AddFieldValue(label, row, "State")
 label <- label + this.AddFieldValue(label, row, "Zip")
 printfn $"{label}"
 printfn ""

member _.AddFieldValue(label: string, row: DataRow, fieldName: string) =
 if DBNull.Value.Equals row[fieldName] |> not then
 (string row[fieldName]) + " "
 else
 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

Remarks

DBNull is a singleton class, which means only this instance of this class can exist.

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.

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. These include the Visual Basic IsDBNull function, the Convert.IsDBNull method, the DataTableReader.IsDBNull method, the IDataRecord.IsDBNull method, and several other methods.

Applies to


Feedback

Was this page helpful?