SqlDataReader.GetFieldValue<T>(Int32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Synchronously gets the value of the specified column as a type. GetFieldValueAsync<T>(Int32, CancellationToken) is the asynchronous version of this method.
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
Type Parameters
- T
The type of the value to be returned.
Parameters
- i
- Int32
The column to be retrieved.
Returns
The returned type object.
Exceptions
The connection drops or is closed during the data retrieval.
The SqlDataReader is closed during the data retrieval.
There is no data ready to be read (for example, the first Read() hasn't been called, or returned false).
Tried to read a previously-read column in sequential mode.
There was an asynchronous operation in progress. This applies to all Get* methods when running in sequential mode, as they could be called while reading a stream.
Trying to read a column that does not exist.
The value of the column was null (IsDBNull(Int32) == true
), retrieving a non-SQL type.
T
doesn't match the type returned by SQL Server or cannot be cast.
Remarks
T
can be one of the following types:
Boolean | Byte | Char | DateOnly (.NET 6 or later) |
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 or later) | XmlReader | UDT, which can be any CLR type marked with SqlUserDefinedTypeAttribute. |
For more information, see SqlClient Streaming Support.