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* 方法,因為在讀取串流時可以呼叫這些方法。

試著閱讀一篇不存在的專欄。

欄位值為 nullIsDBNull(Int32) == true(),取得非 SQL 型別。

T 與 SQL Server 回傳的類型不符,或無法施放。

備註

T 可以是以下類型之一:

布林、位元組、字元、時間、DateTimeOffset、十進位、雙重、浮點、GUID、int16、Int32、Int64、SqlBoolean、SqlByte、SqlDateTime、SqlDecimal、SqlDouble、SqlGuid、SqlInt16、SqlInt32、SqlInt64、SqlMoney、SqlSingle、SqlString、String 或 UDT(任何標記為 SqlUserDefinedTypeAttributeS 的 CLR 類型)。

欲了解更多資訊,請參閱 SqlClient 串流支援

適用於