OdbcDataReader.GetOrdinal Method (String)

 

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

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

public override int GetOrdinal(
	string value
)

Parameters

value
Type: System.String

The name of the column.

Return Value

Type: System.Int32

The zero-based column ordinal.

GetOrdinal performs a case-sensitive lookup first. If it fails, a second case-insensitive search is made. The method throws an IndexOutOfRange exception if 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. Instead, call GetOrdinal one time and then assign 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 (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand(queryString, connection);

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

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

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

        // Call Close when done reading.
        reader.Close();
    }
}

.NET Framework
Available since 1.1
Return to top
Show: