OracleDataReader.GetOrdinal(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.