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