共用方式為


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() 沒有被呼叫,或傳回 false)。

嘗試在循序模式下讀取先前讀取的資料行。

有進行中的非同步作業。 當在循序模式中執行時,此適用於所有 Get* 方法,因為在讀取資料流時可能會呼叫它們。

嘗試讀取不存在的資料行。

資料行的值是 null (IsDBNull(Int32) == true),擷取非 SQL 型別。

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,可以是任何標示為 的 SqlUserDefinedTypeAttribute CLR 類型。

如需詳細資訊,請參閱 SqlClient 串流支援

適用於