OleDbDataReader.GetOrdinal Method (String)

 

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

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

public override int GetOrdinal(
	string name
)

Parameters

name
Type: System.String

The name of the column.

Return Value

Type: System.Int32

The zero-based column ordinal.

Exception Condition
IndexOutOfRangeException

The name specified is not a valid column name.

GetOrdinal performs a case-sensitive lookup first. If it fails, a second case-insensitive search is made. The method throws an IndexOutOfRange exceptionif the zero-based column ordinal is not found.

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.

The following example demonstrates how to use the GetOrdinal method.

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);

        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        int customerID = reader.GetOrdinal("CustomerID");

        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }
        reader.Close();
    }
}

.NET Framework
Available since 1.1
Return to top
Show: