SqlDataReader.GetOrdinal(String) Metoda

Definicja

Pobiera porządkową kolumnę, podając nazwę kolumny.

public override int GetOrdinal (string name);
public int GetOrdinal (string name);

Parametry

name
String

Nazwa kolumny.

Zwraca

Liczba porządkowa kolumn opartych na zerach.

Implementuje

Wyjątki

Określona nazwa nie jest prawidłową nazwą kolumny.

Przykłady

W poniższym przykładzie pokazano, jak używać GetOrdinal metody .

private static void ReadGetOrdinal(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM dbo.Orders;";
    using (SqlConnection connection =
               new SqlConnection(connectionString))
    {
        SqlCommand command =
            new SqlCommand(queryString, connection);
        connection.Open();

        SqlDataReader reader = command.ExecuteReader();

        // Call GetOrdinal and assign value to variable.
        int customerID = reader.GetOrdinal("CustomerID");

        // Use variable with GetString inside of loop.
        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }

        // Call Close when done reading.
        reader.Close();
    }
}

Uwagi

GetOrdinal najpierw wykonuje wyszukiwanie uwzględniające wielkość liter. Jeśli zakończy się to niepowodzeniem, zostanie przeprowadzone drugie wyszukiwanie bez uwzględniania wielkości liter (porównanie bez uwzględniania wielkości liter odbywa się przy użyciu sortowania bazy danych). Gdy na porównania wpływają reguły uwzględniające ustawienia kulturowe, mogą wystąpić nieoczekiwane rezultaty. Na przykład w języku tureckim poniższy przykład zwraca nieprawidłowe wyniki, ponieważ system plików w języku tureckim nie używa reguł wielkości liter w literze "i" w ciągu "file". Metoda zgłasza IndexOutOfRange wyjątek, jeśli nie znaleziono porządkowej kolumny opartej na zerze.

GetOrdinal jest niewrażliwa na szerokość kana.

Ponieważ wyszukiwania na podstawie porządkowych są bardziej wydajne niż nazwane wyszukiwania, jest nieefektywne wywołanie GetOrdinal w ramach pętli. Oszczędzaj czas, wywołując GetOrdinal raz i przypisując wyniki do zmiennej całkowitej do użycia w pętli.

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, 6 (package-provided), 8 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

Zobacz też