DbDataReader.IsDBNullAsync 方法

定义

异步获取一个值,该值指示列中是否包含不存在的或缺少的值。

重载

IsDBNullAsync(Int32)

异步获取一个值,该值指示列中是否包含不存在的或缺少的值。

IsDBNullAsync(Int32, CancellationToken)

异步获取一个值,该值指示列中是否包含不存在的或缺少的值。

IsDBNullAsync(Int32)

异步获取一个值,该值指示列中是否包含不存在的或缺少的值。

public:
 System::Threading::Tasks::Task<bool> ^ IsDBNullAsync(int ordinal);
public System.Threading.Tasks.Task<bool> IsDBNullAsync (int ordinal);
member this.IsDBNullAsync : int -> System.Threading.Tasks.Task<bool>
Public Function IsDBNullAsync (ordinal As Integer) As Task(Of Boolean)

参数

ordinal
Int32

从零开始的要检索的列。

返回

一个 Task<TResult>,如果指定的列值等于 DBNull,则其 Result 属性为 true,如果不等于,则为 false

例外

在数据检索期间删除或关闭连接。

- 或 -

在数据检索期间关闭数据读取器。

- 或 -

没有要读取的就绪数据 (例如,第一个 Read() 未被调用或返回错误)。

- 或 -

按顺序模式尝试读取上一步骤中读取的列。

- 或 -

没有正在进行的异步操作。 以顺序模式运行时,这适用于所有 Get* 方法,读取流时也可对其进行调用。

列索引超出范围。

注解

仅当以顺序模式创建读取器时,才需要此异步方法以避免阻止调用线程。

如果未指定顺序模式,则每次 ReadAsync 完成时,所有列值都应在内存中可用,并且调用方法的同步版本不应阻止调用线程。

此异步方法的默认实现调用其同步对应方法并返回已完成的任务,这可能会阻止调用线程。

支持 异步编程 的数据提供程序应使用异步 I/O 操作替代默认实现。

当返回任务还未完成时, DbDataReader 对象的其他方法和属性不应调用 。

此方法存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 IsDBNull(Int32)异常。

适用于

IsDBNullAsync(Int32, CancellationToken)

异步获取一个值,该值指示列中是否包含不存在的或缺少的值。

public:
 virtual System::Threading::Tasks::Task<bool> ^ IsDBNullAsync(int ordinal, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task<bool> IsDBNullAsync (int ordinal, System.Threading.CancellationToken cancellationToken);
abstract member IsDBNullAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
override this.IsDBNullAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Overridable Function IsDBNullAsync (ordinal As Integer, cancellationToken As CancellationToken) As Task(Of Boolean)

参数

ordinal
Int32

从零开始的要检索的列。

cancellationToken
CancellationToken

用于取消异步操作的令牌。

返回

一个 Task<TResult>,如果指定的列值等于 DBNull,则其 Result 属性为 true,如果不等于,则为 false

例外

在数据检索期间删除或关闭连接。

- 或 -

在数据检索期间关闭数据读取器。

- 或 -

没有要读取的就绪数据 (例如,第一个 Read() 未被调用或返回错误)。

- 或 -

按顺序模式尝试读取上一步骤中读取的列。

- 或 -

没有正在进行的异步操作。 以顺序模式运行时,这适用于所有 Get* 方法,读取流时也可对其进行调用。

列索引超出范围。

取消令牌已取消。 此异常存储在返回的任务中。

注解

仅当以顺序模式创建读取器时,才需要此异步方法以避免阻止调用线程。

如果未指定顺序模式,则每次 ReadAsync 完成时,所有列值都应在内存中可用,并且调用方法的同步版本不应阻止调用线程。

此异步方法的默认实现调用其同步对应方法并返回已完成的任务,这可能会阻止调用线程。 如果传递了已取消的取消令牌,则默认实现还会返回已取消的任务。

支持 异步编程 的数据提供程序应使用异步 I/O 操作替代默认实现。

该方法可用于请求操作之前接受取消标记。 实现可能会忽略该请求。

当返回任务还未完成时, DbDataReader 对象的其他方法和属性不应调用 。 此方法存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 IsDBNull(Int32)异常。

适用于