次の方法で共有


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 DateTime
DateTimeOffset Decimal Double Float
Guid Int16 Int32 Int64
SqlBoolean SqlByte Sqldatetime SqlDecimal
SqlDouble SqlGuid SqlInt16 SqlInt32
SqlInt64 Sqlmoney Sqlsingle SqlString
String UDT。 でマークされた SqlUserDefinedTypeAttribute任意の CLR 型を指定できます。

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

適用対象