DataTableReader.Item Property (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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.

Exception Condition

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 M:System.Data.DataTableReader.Item corresponds to calling the M:System.Data.DataTableReader.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
Available since 2.0
Return to top