SqlDataReader.GetOrdinal(String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.