DataTableReader.IsDBNull(Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指示列中是否包含不存在的或缺少的值。
public:
override bool IsDBNull(int ordinal);
public override bool IsDBNull (int ordinal);
override this.IsDBNull : int -> bool
Public Overrides Function IsDBNull (ordinal As Integer) As Boolean
参数
- ordinal
- Int32
从零开始的列序号。
返回
如果指定的列值与 DBNull 等效,则为 true
;否则为 false
。
例外
传递的索引超出了 0 到 FieldCount -1 的范围。
尝试从已删除的行中检索数据。
尝试读取或访问已关闭 DataTableReader 中的列。
示例
以下示例显示传入 DataTableReader的 中编号为 2 的列的内容。 如果特定行中的列的值为 null,则代码将显示文本 <NULL>。 如果列中的数据的类型正确,则本示例显示每行的错误消息。
private static void PrintColumn(DataTableReader reader)
{
// Loop through all the rows in the DataTableReader
while (reader.Read())
{
if (reader.IsDBNull(2))
{
Console.Write("<NULL>");
}
else
{
try
{
Console.Write(reader.GetString(2));
}
catch (InvalidCastException)
{
Console.Write("Invalid data type.");
}
}
Console.WriteLine();
}
}
Private Sub PrintColumn(ByVal reader As DataTableReader)
' Loop through all the rows in the DataTableReader
While reader.Read()
If reader.IsDBNull(2) Then
Console.Write("<NULL>")
Else
Try
Console.Write(reader.GetString(2))
Catch ex As InvalidCastException
Console.Write("Invalid data type.")
End Try
End If
Console.WriteLine()
End While
End Sub
注解
调用此方法以查看在调用类型化 get 方法之前是否存在 null 列值, (例如、GetByteGetChar、 等) 以避免引发错误。