Share via

SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) Method


Asynchronously gets the value of the specified column as a type. GetFieldValue<T>(Int32) is the synchronous version of this method.

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)

Type Parameters


The type of the value to be returned.



The column to be retrieved.


The cancellation instruction, which propagates a notification that operations should be canceled. This does not guarantee the cancellation. A setting of CancellationToken.None makes this method equivalent to IsDBNull(Int32). The returned task must be marked as cancelled.



The returned type object.


The connection drops or is closed during the data retrieval.

The SqlDataReader is closed during the data retrieval.

There is no data ready to be read (for example, the first Read() hasn't been called, or returned false).

Tried to read a previously-read column in sequential mode.

There was an asynchronous operation in progress. This applies to all Get* methods when running in sequential mode, as they could be called while reading a stream.

Trying to read a column that does not exist.

The value of the column was null (IsDBNull(Int32) == true), retrieving a non-SQL type.

T doesn't match the type returned by SQL Server or cannot be cast.


T can be one of the following types:

Boolean Byte Char DateOnly (.NET 6 or later)
DateTime DateTimeOffset Decimal Double
Float Guid Int16 Int32
Int64 SqlBoolean SqlByte SqlDateTime
SqlDecimal SqlDouble SqlGuid SqlInt16
SqlInt32 SqlInt64 SqlMoney SqlSingle
SqlString Stream String TextReader
TimeOnly (.NET 6 or later) XmlReader UDT, which can be any CLR type marked with SqlUserDefinedTypeAttribute.

For more information, see SqlClient Streaming Support.

Applies to