OracleDataReader.GetOrdinal Method (String)


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

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

Public Overrides Function GetOrdinal (
	name As String
) As Integer


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 once and then assign the results to an integer variable for use within the loop.

The following example demonstrates how to use the GetOrdinal method.

[Visual Basic]

Public Sub ReadOracleData(ByVal connectionString As String)

    Dim queryString As String = "SELECT OrderID, CustomerID FROM Orders"
    Dim connection As New OracleConnection(connectionString)
    Dim command As New OracleCommand(queryString, connectionString)


    Dim reader As OracleDataReader = command.ExecuteReader()

    Dim custIdCol As Integer = reader.GetOrdinal("CustomerID")

    Do While reader.Read()
        Console.WriteLine("CustomerID = {0}", reader.GetString(custIdCol))

End Sub


public void ReadOracleData(string connectionString)
    string queryString = "SELECT OrderID, CustomerID FROM Orders";
    OracleConnection connection = new OracleConnection(connectionString);
    OracleCommand command = new OracleCommand(queryString,connection);

    OracleDataReader reader = command.ExecuteReader();

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

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


.NET Framework
Available since 1.1
Return to top