SqlDataReader.GetFieldValue<T>(Int32) 方法

定义

同步获取作为类型的指定列的值。 GetFieldValueAsync<T>(Int32, CancellationToken) 是此方法的异步版本。

public:
generic <typename T>
 override T GetFieldValue(int i);
public override T GetFieldValue<T> (int i);
override this.GetFieldValue : int -> 'T
Public Overrides Function GetFieldValue(Of T) (i As Integer) As T

类型参数

T

要返回的值的类型。

参数

i
Int32

要检索的列。

返回

T

返回的类型对象。

例外

连接中断或在数据检索期间已关闭。

数据检索期间,SqlDataReader 处于关闭状态。

没有要读取的就绪数据 (例如,第一个 Read() 未被调用或返回错误)。

按顺序模式尝试读取上一步骤中读取的列。

没有正在进行的异步操作。 以顺序模式运行时,这适用于所有 Get* 方法,读取流时也可对其进行调用。

尝试读取不存在的列。

该列中的值为 null (IsDBNull(Int32) == true),检索非 SQL 类型。

T 与 SQL Server 返回的类型不匹配或无法进行强制转换。

注解

T 可以是以下类型之一:

布尔 Byte Char DateTime
DateTimeOffset 小数 Double Float
Guid Int16 Int32 Int64
SqlBoolean SqlByte SqlDateTime SqlDecimal
SqlDouble SqlGuid SqlInt16 SqlInt32
SqlInt64 SqlMoney SqlSingle SqlString
String UDT,可以是任何用 标记的 SqlUserDefinedTypeAttributeCLR 类型。

有关详细信息,请参阅 SqlClient 流式处理支持

适用于