次の方法で共有


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 ストリーム String TextReader
TimeOnly (.NET 6 以降) XmlReader UDT。 でマークされた SqlUserDefinedTypeAttribute任意の CLR 型を指定できます。

詳細については、「 SqlClient ストリーミング サポート」を参照してください。

適用対象