DbDataReader.GetFieldValueAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以非同步方式取得所指定資料行的值作為要求類型。
多載
GetFieldValueAsync<T>(Int32) |
以非同步方式取得所指定資料行的值作為要求類型。 |
GetFieldValueAsync<T>(Int32, CancellationToken) |
以非同步方式取得所指定資料行的值作為要求類型。 |
GetFieldValueAsync<T>(Int32)
以非同步方式取得所指定資料行的值作為要求類型。
public:
generic <typename T>
System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal);
public System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal);
member this.GetFieldValueAsync : int -> System.Threading.Tasks.Task<'T>
Public Function GetFieldValueAsync(Of T) (ordinal As Integer) As Task(Of T)
類型參數
- T
要傳回的值型别。
參數
- ordinal
- Int32
以零為基底的資料行序數。
傳回
其 Result 包含所指定資料行值的工作。
例外狀況
連線在資料擷取期間已中斷或關閉。
-或-
資料讀取器在資料擷取期間已關閉。
-或-
沒有可供讀取的資料 (例如,沒有呼叫第一個 Read(),或傳回 false
)。
-或-
嘗試在循序模式下讀取先前讀取的資料行。
-或-
有進行中的非同步作業。 當在循序模式中執行時,此適用於所有 Get_*_ 方法,因為在讀取資料流時可能會呼叫它們。
資料行索引超出範圍。
資料來源傳回的值不符合或無法轉換成 T
。
備註
只有在以循序模式建立讀取器時,才需要這個異步方法,以避免封鎖呼叫線程。
如果未指定循序模式,則每次 ReadAsync 完成時,所有數據行值都應該可在記憶體中使用,而且呼叫方法的同步版本不應該封鎖呼叫線程。
這個異步方法的預設實作會叫用其同步對應專案,並傳回已完成的工作,可能會封鎖呼叫線程。
支援 異步程式設計 的數據提供者應該使用異步 I/O 作業覆寫預設實作。
傳回的工作尚未完成時,不應該叫用 DbDataReader 物件的其他方法和屬性。
適用於
GetFieldValueAsync<T>(Int32, CancellationToken)
以非同步方式取得所指定資料行的值作為要求類型。
public:
generic <typename T>
virtual System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int ordinal, System::Threading::CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (int ordinal, System.Threading.CancellationToken cancellationToken);
abstract member GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overridable Function GetFieldValueAsync(Of T) (ordinal As Integer, cancellationToken As CancellationToken) As Task(Of T)
類型參數
- T
要傳回的值型别。
參數
- ordinal
- Int32
以零為基底的資料行序數。
- cancellationToken
- CancellationToken
取消非同步作業的語彙基元。
傳回
其 Result 包含所指定資料行值的工作。
例外狀況
連線在資料擷取期間已中斷或關閉。
-或-
資料讀取器在資料擷取期間已關閉。
-或-
沒有可供讀取的資料 (例如,沒有呼叫第一個 Read(),或傳回 false
)。
-或-
嘗試在循序模式下讀取先前讀取的資料行。
-或-
有進行中的非同步作業。 當在循序模式中執行時,此適用於所有 Get_*_ 方法,因為在讀取資料流時可能會呼叫它們。
資料行索引超出範圍。
資料來源傳回的值不符合或無法轉換成 T
。
取消標記已取消。 此例外狀況會儲存在傳回的工作中。
備註
只有在以循序模式建立讀取器時,才需要這個異步方法,以避免封鎖呼叫線程。
如果未指定循序模式,則每次 ReadAsync 完成時,所有數據行值都應該可在記憶體中使用,而且呼叫方法的同步版本不應該封鎖呼叫線程。
這個異步方法的預設實作會叫用其同步對應專案,並傳回已完成的工作,可能會封鎖呼叫線程。 如果傳遞已取消的取消標記,默認實作也會傳回已取消的工作。
支援 異步程式設計 的數據提供者應該使用異步 I/O 作業覆寫預設實作。
這個方法會接受可以用來要求提早取消作業的取消語彙基元。 實作可以忽略這項要求。
傳回的工作尚未完成時,不應該叫用 DbDataReader 物件的其他方法和屬性。