SqlDataReader.IsDBNullAsync(Int32, CancellationToken) 方法

定义

IsDBNull(Int32) 的异步版本,其获取指示列是否包含不存在或缺失值的值。

取消标记可用于在命令超时超过前请求放弃操作。 将通过返回的任务对象报告异常。

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

参数

i
Int32

从零开始的要检索的列。

cancellationToken
CancellationToken

取消指示,用于对应该取消操作的通知进行传播。 此构造函数不对取消做保证。 设置为 CancellationToken.None 将此方法等效于 IsDBNull(Int32)。 返回任务必须标记为已取消。

返回

如果指定的列值与 true 等效,则为 DBNull;否则为 false

例外

连接中断或在数据检索期间已关闭。

数据检索期间,SqlDataReader 处于关闭状态。

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

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

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

在连接字符串中指定 Context Connection=true

尝试读取不存在的列。

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

注解

有关详细信息,请参阅 SqlClient 流式处理支持

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

适用于