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() が呼び出されていないか、false が返されました)。
シーケンシャル モードで以前に読み取った列を読み取ろうとしました。
非同期操作が進行中でした。 これは、ストリームの読み取り中に呼び出すことができるため、シーケンシャル モードで実行されている場合は、すべての Get* メソッドに適用されます。
Context Connection=trueは、接続文字列で指定します。
存在しない列を読み取ろうとしています。
列の値が null (IsDBNull(Int32) == true) で、SQL 以外の型が取得されました。
T が、SQL Serverによって返された型と一致しないか、キャストできません。
キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。
注釈
T には、次のいずれかの型を指定できます。
Boolean、Byte、Char、DateTime、DateTimeOffset、Decimal、Double、Float、Guid、Int16、Int32、Int64、SqlBoolean、SqlByte、SqlDateTime、SqlDecimal、SqlDouble、SqlGuid、SqlInt16、SqlInt32、SqlInt64、SqlMoney、SqlSingle、SqlString、String、UDT ( SqlUserDefinedTypeAttributeでマークされた任意の CLR 型)。
詳細については、「 SqlClient ストリーミング サポート」を参照してください。