OracleDataReader.GetOrdinal(String) Metodo

Definizione

Ottiene la posizione ordinale della colonna, dato il nome della colonna.

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

Parametri

name
String

Nome della colonna.

Restituisce

Ordinale di colonna in base zero.

Implementazioni

Esempio

Nell'esempio seguente viene illustrato l'utilizzo del metodo 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();  
}  

Commenti

GetOrdinal esegue prima una ricerca con distinzione tra maiuscole e minuscole. Se ha esito negativo, viene eseguita una seconda ricerca senza distinzione tra maiuscole e minuscole. Il metodo genera un'eccezione IndexOutOfRange se il numero ordinale di colonna in base zero non viene trovato.

Il metodo GetOrdinal non fa distinzione di larghezza dei caratteri kana.

Poiché le ricerche basate su valori ordinali sono più efficienti delle ricerche denominate, chiamare il metodo GetOrdinal in un ciclo non è un'operazione efficiente. Chiamare GetOrdinal invece una volta e quindi assegnare i risultati a una variabile integer da usare all'interno del ciclo.

Si applica a