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

정의

지정된 열의 값을 형식으로 비동기적으로 가져옵니다.Asynchronously gets the value of the specified column as a type. GetFieldValue<T>(Int32)은 이 메서드의 동기 버전입니다.GetFieldValue<T>(Int32) is the synchronous version of this method.

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>

형식 매개 변수

T

반환될 값의 형식입니다.The type of the value to be returned.

매개 변수

i
Int32

검색할 열입니다.The column to be retrieved.

cancellationToken
CancellationToken

작업을 취소해야 한다는 알림을 전파하는 취소 명령입니다.The cancellation instruction, which propagates a notification that operations should be canceled. 취소를 보장하지는 않습니다.This does not guarantee the cancellation. CancellationToken.None을 설정하면 이 메서드가 IsDBNull(Int32)와 동일해집니다.A setting of CancellationToken.None makes this method equivalent to IsDBNull(Int32). 반환된 작업은 취소로 표시되어 있어야 합니다.The returned task must be marked as cancelled.

반환

Task<T>

반환된 형식 개체입니다.The returned type object.

예외

데이터 검색 중 연결이 끊기거나 닫힌 경우The connection drops or is closed during the data retrieval.

데이터 검색 중 SqlDataReader가 닫힌 경우The SqlDataReader is closed during the data retrieval.

읽을 준비가 된 데이터가 없는 경우(예를 들어, 첫 번째 Read()가 호출되지 않았거나 false를 반환한 경우)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. 이는 스트림을 읽는 동안 호출할 수 있기 때문에 순차 모드로 실행할 때 모든 Get* 메서드에 적용됩니다.This applies to all Get* methods when running in sequential mode, as they could be called while reading a stream.

Context Connection=true가 연결 문자열에 지정되어 있습니다.Context Connection=true is specified in the connection string.

존재하지 않는 열을 읽으려고 시도합니다.Trying to read a column that does not exist.

열의 값이 SQL이 아닌 형식을 검색하는 null(IsDBNull(Int32) == true)인 경우The value of the column was null (IsDBNull(Int32) == true), retrieving a non-SQL type.

T는 SQL Server에서 반환되는 형식과 일치하지 않거나 캐스팅할 수 없습니다.T doesn't match the type returned by SQL Server or cannot be cast.

설명

T는 다음 형식 중 하나일 수 있습니다.T can be one of the following types:

BooleanBoolean ByteByte CharChar DateTimeDateTime
DateTimeOffsetDateTimeOffset DecimalDecimal DoubleDouble FloatFloat
GUIDGuid Int16Int16 Int32Int32 Int64Int64
SqlBooleanSqlBoolean SqlByteSqlByte SqlDateTimeSqlDateTime SqlDecimalSqlDecimal
SqlDoubleSqlDouble SqlGuidSqlGuid SqlInt16SqlInt16 SqlInt32SqlInt32
SqlInt64SqlInt64 SqlMoneySqlMoney SqlSingleSqlSingle SqlStringSqlString
문자열String UDT는 SqlUserDefinedTypeAttribute표시 된 CLR 형식일 수 있습니다.UDT, which can be any CLR type marked with SqlUserDefinedTypeAttribute.

자세한 내용은 SqlClient 스트리밍 지원을 참조 하세요.For more information, see SqlClient Streaming Support.

적용 대상