다음을 통해 공유


SqlDataReader.GetFieldValueAsync<T>(Int32, CancellationToken) 메서드

정의

지정된 열의 값을 형식으로 비동기적으로 가져옵니다. 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)와 동일해집니다. 반환된 작업은 취소로 표시되어 있어야 합니다.

반환

Task<T>

반환된 형식 개체입니다.

예외

데이터 검색 중 연결이 끊기거나 닫힌 경우

데이터 검색 중 SqlDataReader가 닫힌 경우

읽을 준비가 된 데이터가 없는 경우(예를 들어, 첫 번째 Read()가 호출되지 않았거나 false를 반환한 경우)

순차 모드에서 이전에 읽은 열을 읽으려고 했습니다.

진행 중인 비동기 작업이 없습니다. 이는 스트림을 읽는 동안 호출할 수 있기 때문에 순차 모드로 실행할 때 모든 Get* 메서드에 적용됩니다.

존재하지 않는 열을 읽으려고 시도합니다.

열의 값이 SQL이 아닌 형식을 검색하는 null(IsDBNull(Int32) == true)인 경우

T는 SQL Server에서 반환되는 형식과 일치하지 않거나 캐스팅할 수 없습니다.

설명

T 은 다음 유형 중 하나일 수 있습니다.

부울 Byte Char DateOnly(.NET 6 이상)
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 이상) XmlReader UDT- 로 표시된 SqlUserDefinedTypeAttributeCLR 형식일 수 있습니다.

자세한 내용은 SqlClient 스트리밍 지원을 참조하세요.

적용 대상