IDataRecord.GetOrdinal(String) Methode

Definitie

Retourneert de index van het benoemde veld.

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

Parameters

name
String

De naam van het veld dat u wilt zoeken.

Retouren

De index van het benoemde veld.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de overgenomen GetOrdinal methode gebruikt.

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

Opmerkingen

GetOrdinal voert eerst een hoofdlettergevoelige zoekopdracht uit. Als dit mislukt, wordt een tweede niet hoofdlettergevoelige zoekopdracht uitgevoerd. GetOrdinal is niet gevoelig voor kana-breedte. Als de index van het benoemde veld niet wordt gevonden, wordt er een IndexOutOfRangeException gegenereerd.

Omdat op ordinale gebaseerde zoekacties efficiënter zijn dan benoemde zoekacties, is het inefficiënt om binnen een lus aan te roepen GetOrdinal . Bespaar tijd door eenmalig aan te roepen GetOrdinal en de resultaten toe te wijzen aan een geheel getalvariabele voor gebruik binnen de lus.

Van toepassing op