This documentation is archived and is not being maintained.

DataTableReader.Item Property (String)

Gets the value of the specified column in its native format given the column name.

Namespace:  System.Data
Assembly:  System.Data (in System.Data.dll)

public override Object this[
	string name
] { get; }


Type: System.String
The name of the column.

Property Value

Type: System.Object
The value of the specified column in its native format.




The name specified is not a valid column name.


An attempt was made to retrieve data from a deleted row.


An attempt was made to read or access a column in a closed DataTableReader.

A case-sensitive lookup is performed first. If it fails, a second case-insensitive search is made.

This method is kana-width insensitive.

This overloaded version of Item() corresponds to calling the GetOrdinal() method, and then subsequently calling the GetValue method.

Given a DataTableReader and a column name, the GetValueByName procedure returns the value of the specified column. Before calling this procedure, you must create a new DataTableReader instance and call its Read method at least one time to position the row pointer on a row of data.

    private static object GetValueByName(
        DataTableReader reader, string columnName)
        // Consider when to use a procedure like this one carefully:
        // if  you're going to retrieve information from a column
        // in a loop, it would be better to retrieve the column
        // ordinal once, store the value, and use the methods
        // of the DataTableReader class directly. 
        // Use this string-based indexer sparingly.
        object columnValue = null;

            columnValue = reader[columnName];
        catch (ArgumentException ex)
            // Throw all other errors back out to the caller.
            columnValue = null;
        return columnValue;

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.