SqlDataReader.GetOrdinal(String) Metoda

Definice

Získá řadový sloupec vzhledem k názvu sloupce.

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

Parametry

name
String

Název sloupce

Návraty

Řadový sloupec založený na nule.

Implementuje

Výjimky

Zadaný název není platný název sloupce.

Příklady

Následující příklad ukazuje, jak použít metodu GetOrdinal .

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();
    }
}
Private Sub ReadGetOrdinal(ByVal connectionString As String)
    Dim queryString As String = _
       "SELECT DISTINCT CustomerID FROM dbo.Orders;"

    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        connection.Open()

        Dim reader As SqlDataReader = command.ExecuteReader()

        ' Call GetOrdinal and assign value to variable.
        Dim customerID As Integer = reader.GetOrdinal("CustomerID")

        ' Use variable with GetString inside of loop.
        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
        End While

        ' Call Close when done reading.
        reader.Close()
    End Using
End Sub

Poznámky

GetOrdinal nejprve provede vyhledávání s rozlišováním velkých a malých písmen. Pokud selže, dojde k druhému hledání bez rozlišování velkých a malých písmen (porovnání nerozlišující malá a malá písmena se provádí pomocí kolace databáze). Při porovnávání se zohledněním pravidel pro práci s malými a velkými písmeny specifickými pro jazykovou verzi může docházet k neočekávaným výsledkům. Například v turečtině následující příklad přináší nesprávné výsledky, protože systém souborů v turečtině nepoužívá jazyková pravidla pro písmeno "i" v souboru. Metoda vyvolá výjimku IndexOutOfRange , pokud není nalezena pořadová řada sloupců založená na nule.

GetOrdinal není kana-width necitlivý.

Vzhledem k tomu, že vyhledávání na základě řad jsou efektivnější než pojmenovaná vyhledávání, je neefektivní volat GetOrdinal v rámci smyčky. Ušetřete čas tím, že jednou zavoláte GetOrdinal a přiřadíte výsledky k celočíselné proměnné pro použití ve smyčce.

Platí pro

Viz také