Partilhar via


OracleDataReader.GetOrdinal(String) Método

Definição

Obtém a ordinal da coluna, de acordo com o nome da coluna.

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

Parâmetros

name
String

O nome da coluna.

Retornos

O ordinal da coluna baseado em zero.

Implementações

Exemplos

O exemplo a seguir demonstra como usar o GetOrdinal método .

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

Comentários

GetOrdinal executa uma pesquisa que diferencia maiúsculas de minúsculas primeiro. Se falhar, uma segunda pesquisa que não diferencia maiúsculas de minúsculas será feita. O método gerará uma exceção IndexOutOfRange se o ordinal de coluna baseado em zero não for encontrado.

GetOrdinal não distingue largura de kana.

Como pesquisas baseadas em ordinais são mais eficientes do que pesquisas por nome, é ineficiente chamar GetOrdinal dentro de um loop. Em vez disso, chame GetOrdinal uma vez e atribua os resultados a uma variável de inteiro para uso dentro do loop.

Aplica-se a