SqlDataReader.GetFieldValueAsync<T> Method (Int32, CancellationToken)
Asynchronously gets the value of the specified column as a type. GetFieldValue<T> is the synchronous version of this method.
Namespace: System.Data.SqlClient
Assembly: System.Data (in System.Data.dll)
public override Task<T> GetFieldValueAsync<T>( int i, CancellationToken cancellationToken )
Type Parameters
- T
The type of the value to be returned. See the remarks section for more information.
Parameters
- i
- Type: System.Int32
The column to be retrieved.
- cancellationToken
- Type: System.Threading.CancellationToken
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. The returned task must be marked as cancelled.
| Exception | Condition |
|---|---|
| InvalidOperationException | 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. Context Connection=true is specified in the connection string. |
| IndexOutOfRangeException | Trying to read a column that does not exist. |
| SqlNullValueException | The value of the column was null (IsDBNull == true), retrieving a non-SQL type. |
| InvalidCastException | 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 | DateTime |
DateTimeOffset | Decimal | Double | Float |
Guid | Int16 | Int32 | Int64 |
SqlBoolean | SqlByte | SqlDateTime | SqlDecimal |
SqlDouble | SqlGuid | SqlInt16 | SqlInt32 |
SqlInt64 | SqlMoney | SqlSingle | SqlString |
String | UDT, which can be any CLR type marked with SqlUserDefinedTypeAttribute. |
For more information, see SqlClient Streaming Support From SQL Server to the Application.
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.