DataTableReader::GetOrdinal Method (String^)


Gets the column ordinal, given the name of the column.

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

virtual int GetOrdinal(
	String^ name
) override


Type: System::String^

The name of the column.

Return Value

Type: System::Int32

The zero-based column ordinal.

Exception Condition

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


The name specified is not a valid column name.

Because most of the methods provided by the DataTableReader class must be provided with an ordinal column number, you can use the GetOrdinal method to retrieve the column number, given the name of the column.

GetOrdinal performs a case-sensitive lookup first. If it fails, a second case-insensitive search is made. If the column number is not found an IndexOutOfRangeException is thrown.

GetOrdinal is kana-width insensitive.

Because ordinal-based lookups are more efficient than named lookups, it is inefficient to call GetOrdinal within a loop. Save time by calling GetOrdinal one time and assigning the results to an integer variable for use within the loop

If you have only a column name, in which case the column name is user supplied, and you must retrieve information from the column, you can use a procedure like the following to extract the required information. In this example, the procedure accepts a column name and returns the data that is contained within that column for the current row in the DataTableReader :

No code example is currently available or this language may not be supported.

.NET Framework
Available since 2.0
Return to top