OleDbDataReader.GetOrdinal(String) Metodo

Definizione

Ottiene l'ordinale di colonna, in base al nome della colonna.

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

Parametri

name
String

Nome della colonna.

Valori restituiti

Ordinale di colonna in base zero.

Implementazioni

Eccezioni

Il nome specificato non è un nome di colonna valido.

Esempio

Nell'esempio seguente viene illustrato come utilizzare il GetOrdinal metodo .

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);

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

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

        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }
        reader.Close();
    }
}
Public Sub ReadData(ByVal connectionString As String)
    Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"

    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)

        connection.Open()

        Dim reader As OleDbDataReader = command.ExecuteReader()

        Dim customerID As Integer = reader.GetOrdinal("CustomerID")
        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
        End While
        reader.Close()
    End Using
End Sub

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 l'ordinale di colonna in base zero non viene trovato.

GetOrdinal è senza distinzione di larghezza kana.

Poiché le ricerche basate su ordinali sono più efficienti delle ricerche denominate, è inefficiente chiamare GetOrdinal all'interno di un ciclo. Risparmiare tempo chiamando GetOrdinal una sola volta e assegnando i risultati a una variabile integer da usare all'interno del ciclo.

Si applica a

Vedi anche