IDataRecord.GetOrdinal(String) Metoda

Definicja

Zwraca indeks nazwanego pola.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

Parametry

name
String

Nazwa pola do znalezienia.The name of the field to find.

Zwraca

Indeks nazwanego pola.The index of the named field.

Przykłady

Poniższy przykład ilustruje sposób użycia dziedziczonej metody GetOrdinal.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

Uwagi

GetOrdinal wykonuje najpierw wyszukiwanie z uwzględnieniem wielkości liter.GetOrdinal performs a case-sensitive lookup first. Jeśli to się nie powiedzie, zostanie wykonane drugie wyszukiwanie bez uwzględniania wielkości liter.If it fails, a second case-insensitive search is made. GetOrdinal jest niewrażliwy na szerokość znaków kana.GetOrdinal is kana-width insensitive. Jeśli indeks nazwanego pola nie zostanie znaleziony, zostanie zgłoszony IndexOutOfRangeException.If the index of the named field is not found, an IndexOutOfRangeException is thrown.

Ponieważ operacje wyszukiwania oparte na liczbie porządkowej są wydajniejsze niż nazwane wyszukiwania, nie jest efektywne wywoływanie GetOrdinal wewnątrz pętli.Because ordinal-based lookups are more efficient than named lookups, it is inefficient to call GetOrdinal within a loop. Oszczędzaj czas, wywołując GetOrdinal jednokrotnie i przypisując wyniki do zmiennej całkowitej w celu użycia w pętli.Save time by calling GetOrdinal one time and assigning the results to an integer variable for use within the loop.

Dotyczy