IDataRecord.GetOrdinal(String) Metodo

Definizione

Restituisce l'indice del campo denominato.Return the index of the named field.

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

Parametri

name
String

Nome del campo da trovare.The name of the field to find.

Restituisce

Indice del campo denominato.The index of the named field.

Esempi

Nell'esempio seguente viene illustrato come utilizzare il metodo GetOrdinal ereditato.The following example demonstrates how to use the inherited GetOrdinal method.

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand(queryString, connection);

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

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

        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }

        // Call Close when done reading.
        reader.Close();
    }
}
Public Sub ReadData(ByVal connectionString As String)
    Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"

    Using connection As New OdbcConnection(connectionString)
        Dim command As New OdbcCommand(queryString, connection)

        connection.Open()

        Dim reader As OdbcDataReader = command.ExecuteReader()

        Dim customerID As Integer = reader.GetOrdinal("CustomerID")

        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
        End While

        ' Call Close when done reading.
        reader.Close()
    End Using
End Sub

Commenti

GetOrdinalesegue prima una ricerca con distinzione tra maiuscole e minuscole.GetOrdinal performs a case-sensitive lookup first. Se ha esito negativo, viene eseguita una seconda ricerca senza distinzione tra maiuscole e minuscole.If it fails, a second case-insensitive search is made. GetOrdinalnon fa distinzione di larghezza kana.GetOrdinal is kana-width insensitive. Se l'indice del campo denominato non viene trovato, viene generata IndexOutOfRangeException un'eccezione.If the index of the named field is not found, an IndexOutOfRangeException is thrown.

Poiché le ricerche basate su ordinali sono più efficienti delle ricerche denominate, non è efficiente GetOrdinal chiamare all'interno di un ciclo.Because ordinal-based lookups are more efficient than named lookups, it is inefficient to call GetOrdinal within a loop. Risparmiare tempo chiamando GetOrdinal una volta e assegnando i risultati a una variabile di tipo Integer da usare all'interno del ciclo.Save time by calling GetOrdinal one time and assigning the results to an integer variable for use within the loop.

Si applica a