OracleDataReader.GetOrdinal(String) Method

Definition

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

public:
 virtual int GetOrdinal(System::String ^ name);
public:
 override int GetOrdinal(System::String ^ name);
public int GetOrdinal (string name);
public override int GetOrdinal (string name);
abstract member GetOrdinal : string -> int
override this.GetOrdinal : string -> int
override this.GetOrdinal : string -> int
Public Function GetOrdinal (name As String) As Integer
Public Overrides Function GetOrdinal (name As String) As Integer

Parameters

name
String

The name of the column.

Returns

The zero-based column ordinal.

Implements

Examples

The following example demonstrates how to use the GetOrdinal method.

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)  

    connection.Open()  

    Dim reader As OracleDataReader = command.ExecuteReader()  

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

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

    reader.Close()  
    connection.Close()  
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);  

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

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

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

    reader.Close();  
    connection.Close();  
}  

Remarks

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.

Applies to