DataTableReader.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 override int GetOrdinal(string name);
override this.GetOrdinal : string -> int
Public Overrides Function GetOrdinal (name As String) As Integer
Parameter
- name
- String
Der Name der Spalte.
Gibt zurück
Die nullbasierte Spalten-Ordnungszahl.
Ausnahmen
Es wurde versucht, eine Spalte in einer geschlossenen DataTableReaderSpalte zu lesen oder darauf zuzugreifen.
Der angegebene Name ist kein gültiger Spaltenname.
Beispiele
Wenn Sie nur über einen Spaltennamen verfügen, in diesem Fall der Spaltenname angegeben wird und Sie Informationen aus der Spalte abrufen müssen, können Sie ein Verfahren wie das folgende verwenden, um die erforderlichen Informationen zu extrahieren. In diesem Beispiel akzeptiert die Prozedur einen Spaltennamen und gibt die Daten zurück, die in dieser Spalte für die aktuelle Zeile in der DataTableReader :
private static object GetValueByName(
DataTableReader reader, string columnName)
{
// Consider when to use a procedure like this one carefully:
// if you're going to retrieve information from a column
// in a loop, it would be better to retrieve the column
// ordinal once, store the value, and use the methods
// of the DataTableReader class directly.
object columnValue;
try
{
int columnOrdinal = reader.GetOrdinal(columnName);
columnValue = reader.GetValue(columnOrdinal);
}
catch (ArgumentException ex)
{
// Throw all other errors back out to the caller.
columnValue = null;
}
return columnValue;
}
Private Function GetValueByName( _
ByVal reader As DataTableReader, _
ByVal columnName As String) As Object
' Consider when to use a procedure like this one carefully:
' If you're going to retrieve information from a column
' in a loop, it would be better to retrieve the column
' ordinal once, store the value, and use the methods
' of the DataTableReader class directly.
Dim columnValue As Object
Try
Dim columnOrdinal As Integer = reader.GetOrdinal(columnName)
columnValue = reader.GetValue(columnOrdinal)
Catch ex As ArgumentException
' Throw all other errors back out to the caller.
columnValue = Nothing
End Try
Return columnValue
End Function
Hinweise
Da die meisten Methoden der DataTableReader Klasse mit einer Ordnungsspaltennummer bereitgestellt werden müssen, können Sie die GetOrdinal Methode verwenden, um die Spaltennummer abzurufen, wobei der Name der Spalte angegeben ist.
GetOrdinal führt zuerst eine Nachschlagevorgang mit Groß-/Kleinschreibung durch. Wenn ein Fehler auftritt, wird eine zweite Suche ohne Groß-/Kleinschreibung durchgeführt. Wenn die Spaltennummer nicht gefunden wird, wird ein ArgumentException Fehler ausgelöst.
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.