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
0 から始まる列の序数。
返品
指定した列の値が Result に含まれるタスク。
例外
データの取得中に接続が切断または閉じられました。
-または-
データリーダーは、データの取得中に閉じられました。
-または-
読み取る準備ができているデータがありません (たとえば、最初の Read() が呼び出されていないか、 false返されます)。
-または-
シーケンシャル モードで以前に読み取った列を読み取ろうとしました。
-または-
非同期操作が進行中でした。 これは、ストリームの読み取り中に呼び出すことができるため、シーケンシャル モードで実行する場合は、すべてのGet_*_ メソッドに適用されます。
列インデックスが範囲外です。
データベースによって返される値が一致しないか、 Tにキャストできません。
注釈
この非同期メソッドは、リーダーがシーケンシャル モードで作成されるときに呼び出し元のスレッドがブロックされないようにするためにのみ必要です。
シーケンシャル モードが指定されていない場合、ReadAsync が完了するたびにすべての列値がメモリ内で使用可能になり、メソッドの同期バージョンを呼び出しても呼び出し元のスレッドはブロックされません。
この非同期メソッドの既定の実装では、対応する同期メソッドが呼び出され、完了した Task が返され、呼び出し元のスレッドがブロックされる可能性があります。
非同期プログラミングをサポートするデータ プロバイダーは、非同期 I/O 操作を使用して既定の実装をオーバーライドする必要があります。
返された Task がまだ完了していない間は、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
0 から始まる列の序数。
- cancellationToken
- CancellationToken
非同期操作を取り消すトークン。
返品
指定した列の値が Result に含まれるタスク。
例外
データの取得中に接続が切断または閉じられました。
-または-
データリーダーは、データの取得中に閉じられました。
-または-
読み取る準備ができているデータがありません (たとえば、最初の Read() が呼び出されていないか、 false返されます)。
-または-
シーケンシャル モードで以前に読み取った列を読み取ろうとしました。
-または-
非同期操作が進行中でした。 これは、ストリームの読み取り中に呼び出すことができるため、シーケンシャル モードで実行する場合は、すべてのGet_*_ メソッドに適用されます。
列インデックスが範囲外です。
データベースによって返される値が一致しないか、 Tにキャストできません。
キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。
注釈
この非同期メソッドは、リーダーがシーケンシャル モードで作成されるときに呼び出し元のスレッドがブロックされないようにするためにのみ必要です。
シーケンシャル モードが指定されていない場合、ReadAsync が完了するたびにすべての列値がメモリ内で使用可能になり、メソッドの同期バージョンを呼び出しても呼び出し元のスレッドはブロックされません。
この非同期メソッドの既定の実装では、対応する同期メソッドが呼び出され、完了した Task が返され、呼び出し元のスレッドがブロックされる可能性があります。 既定の実装では、既に取り消されたキャンセル トークンが渡された場合、取り消されたタスクも返されます。
非同期プログラミングをサポートするデータ プロバイダーは、非同期 I/O 操作を使用して既定の実装をオーバーライドする必要があります。
このメソッドは、早期に取り消す操作を要求するために使用できるキャンセル トークンを受け入れます。 実装では、この要求は無視される場合があります。
返された Task がまだ完了していない間は、DbDataReader オブジェクトの他のメソッドとプロパティを呼び出さないでください。