SqlDataReader.GetOrdinal(String) Methode

Definition

Ruft die Spalten-Ordnungszahl ab, wobei der Name der Spalte angegeben ist.

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

Parameter

name
String

Der Name der Spalte.

Gibt zurück

Die nullbasierte Spalten-Ordnungszahl.

Implementiert

Ausnahmen

Der angegebene Name ist kein gültiger Spaltenname.

Beispiele

Im folgenden Beispiel wird die Verwendung der GetOrdinal Methode veranschaulicht.

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

Hinweise

GetOrdinal führt zuerst eine Nachschlagevorgang mit Groß-/Kleinschreibung durch. Wenn ein Fehler auftritt, tritt bei einer zweiten Suche die Groß-/Kleinschreibung auf (bei verwendung der Datenbanksortierung wird ein Vergleich zwischen Groß- und Kleinschreibung durchgeführt). Unerwartete Ergebnisse können auftreten, wenn Vergleiche von kulturspezifischen Groß-/Kleinschreibungsregeln betroffen sind. In Türkisch liefert das folgende Beispiel beispielsweise die falschen Ergebnisse, da das Dateisystem in Türkisch keine sprachlichen Groß-/Kleinschreibungsregeln für den Buchstaben "i" in "Datei" verwendet. Die Methode löst eine IndexOutOfRange Ausnahme aus, wenn die nullbasierte Spalten-Ordnungszahl nicht gefunden wird.

GetOrdinal ist kana-width insensitiv.

Da Ordinalbasierte Nachschlagevorgänge effizienter sind als benannte Nachschlagevorgänge, ist es ineffizient, innerhalb einer Schleife aufzurufen GetOrdinal . Sparen Sie Zeit, indem Sie einmal aufrufen GetOrdinal und die Ergebnisse einer ganzzahligen Variablen für die Verwendung in der Schleife zuweisen.

Gilt für:

Weitere Informationen