SqlDataReader.GetFieldValue<T>(Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
同步获取作为类型的指定列的值。 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 流式处理支持。