SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
非同步取得指定欄位的值作為型別。 GetFieldValue<T>(Int32) 是此方法的同步版本。
public:
generic <typename T>
override System::Threading::Tasks::Task<T> ^ GetFieldValueAsync(int i, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<T> GetFieldValueAsync<T>(int i, System.Threading.CancellationToken cancellationToken);
override this.GetFieldValueAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
Public Overrides Function GetFieldValueAsync(Of T) (i As Integer, cancellationToken As CancellationToken) As Task(Of T)
類型參數
- T
要回傳的值類型。
參數
- i
- Int32
待取的柱子。
- cancellationToken
- CancellationToken
取消指令,會傳播通知,告知操作應該被取消。 這並不保證會被取消。 一個設定使 CancellationToken.None 此方法等價於 IsDBNull(Int32)。 退回的任務必須標記為已取消。
傳回
回傳的型別物件。
例外狀況
在資料擷取過程中,連線會中斷或關閉。
在資料檢索時會關閉。SqlDataReader
沒有資料可供讀取(例如,第一個 Read() 資料尚未被呼叫或回傳為假)。
嘗試用順序模式閱讀之前讀過的專欄。
當時正在進行一項非同步操作。 這適用於所有在序列模式下執行的 Get* 方法,因為在讀取串流時可以呼叫這些方法。
Context Connection=true 在連接字串中指定。
試著閱讀一篇不存在的專欄。
欄位值為 nullIsDBNull(Int32) == true(),取得非 SQL 型別。
T 與 SQL Server 回傳的類型不符,或無法施放。
取消令牌也被取消了。 此例外會儲存在回傳的任務中。
備註
T 可以是以下類型之一:
布林、位元組、字元、時間、DateTimeOffset、十進位、雙重、浮點、GUID、int16、Int32、Int64、SqlBoolean、SqlByte、SqlDateTime、SqlDecimal、SqlDouble、SqlGuid、SqlInt16、SqlInt32、SqlInt64、SqlMoney、SqlSingle、SqlString、String 或 UDT(任何標記為 SqlUserDefinedTypeAttributeS 的 CLR 類型)。
欲了解更多資訊,請參閱 SqlClient 串流支援。