DbDataReader.IsDBNullAsync 方法

定義

以非同步方式取得值,指出資料行是否包含不存在或遺漏的值。

多載

IsDBNullAsync(Int32)

以非同步方式取得值,指出資料行是否包含不存在或遺漏的值。

IsDBNullAsync(Int32, CancellationToken)

以非同步方式取得值,指出資料行是否包含不存在或遺漏的值。

IsDBNullAsync(Int32)

來源:
DbDataReader.cs
來源:
DbDataReader.cs
來源:
DbDataReader.cs

以非同步方式取得值,指出資料行是否包含不存在或遺漏的值。

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

要擷取的以零起始的資料行。

傳回

如果所指定資料行值等於 DBNull,則 Task<TResult>Result 值為 true;如果不相等,則為 false

例外狀況

連線在資料擷取期間已中斷或關閉。

-或-

資料讀取器在資料擷取期間已關閉。

-或-

沒有可供讀取的資料 (例如,第一個 Read() 沒有被呼叫,或傳回 false)。

-或-

嘗試在循序模式下讀取先前讀取的資料行。

-或-

有進行中的非同步作業。 當在循序模式中執行時,此適用於所有 Get* 方法,因為在讀取資料流時可能會呼叫它們。

資料行索引超出範圍。

備註

只有在以循序模式建立讀取器時,才需要這個異步方法,以避免封鎖呼叫線程。

如果未指定循序模式,則每次 ReadAsync 完成時,所有數據行值都應該可在記憶體中使用,而且呼叫方法的同步版本不應該封鎖呼叫線程。

這個異步方法的預設實作會叫用其同步對應專案,並傳回已完成的工作,可能會封鎖呼叫線程。

支援 異步程式設計 的數據提供者應該使用異步 I/O 作業覆寫預設實作。

傳回的工作尚未完成時,不應該叫用 DbDataReader 物件的其他方法和屬性。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 IsDBNull(Int32)例外狀況。

適用於

IsDBNullAsync(Int32, CancellationToken)

來源:
DbDataReader.cs
來源:
DbDataReader.cs
來源:
DbDataReader.cs

以非同步方式取得值,指出資料行是否包含不存在或遺漏的值。

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

取消非同步作業的語彙基元。

傳回

如果所指定資料行值等於 DBNull,則 Task<TResult>Result 值為 true;如果不相等,則為 false

例外狀況

連線在資料擷取期間已中斷或關閉。

-或-

資料讀取器在資料擷取期間已關閉。

-或-

沒有可供讀取的資料 (例如,第一個 Read() 沒有被呼叫,或傳回 false)。

-或-

嘗試在循序模式下讀取先前讀取的資料行。

-或-

有進行中的非同步作業。 當在循序模式中執行時,此適用於所有 Get* 方法,因為在讀取資料流時可能會呼叫它們。

資料行索引超出範圍。

取消標記已取消。 此例外狀況會儲存在傳回的工作中。

備註

只有在以循序模式建立讀取器時,才需要這個異步方法,以避免封鎖呼叫線程。

如果未指定循序模式,則每次 ReadAsync 完成時,所有數據行值都應該可在記憶體中使用,而且呼叫方法的同步版本不應該封鎖呼叫線程。

這個異步方法的預設實作會叫用其同步對應專案,並傳回已完成的工作,可能會封鎖呼叫線程。 如果傳遞已取消的取消標記,默認實作也會傳回已取消的工作。

支援 異步程式設計 的數據提供者應該使用異步 I/O 作業覆寫預設實作。

這個方法會接受可以用來要求提早取消作業的取消語彙基元。 實作可以忽略這項要求。

傳回的工作尚未完成時,不應該叫用 DbDataReader 物件的其他方法和屬性。 這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 IsDBNull(Int32)例外狀況。

適用於