Поделиться через


OracleDataReader.GetOrdinal(String) Метод

Определение

Возвращает порядковый номер столбца при наличии заданного имени столбца.

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

Параметры

name
String

Имя столбца.

Возвращаемое значение

Порядковый номер столбца (от нуля).

Реализации

Примеры

В следующем примере показано использование метода GetOrdinal.

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();  
}  

Комментарии

GetOrdinal сначала выполняет поиск с учетом регистра. В случае сбоя выполняется второй поиск без учета регистра. Метод создает исключение, IndexOutOfRange если порядковый номер столбца, отсчитываемый от нуля, не найден.

Метод GetOrdinal не учитывает ширину японской азбуки.

Поиск по порядковым числительным более эффективен, чем поиск по имени, поэтому не рекомендуется использовать метод GetOrdinal в цикле. Вместо этого вызовите GetOrdinal один раз, а затем назначьте результаты целочисленной переменной для использования в цикле.

Применяется к