IDataRecord.GetOrdinal(String) Metodo

Definizione

Restituisce l'indice del campo denominato.

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.

Restituisce

Indice del campo denominato.

Esempio

Nell'esempio seguente viene illustrato come usare il metodo ereditato GetOrdinal .

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

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 GetOrdinal non fa distinzione di larghezza dei caratteri kana. Se l'indice del campo denominato non viene trovato, viene generata un'eccezione IndexOutOfRangeException .

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

Si applica a