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.

Valori restituiti

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

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