DataTableReader.GetOrdinal(String) Methode

Definitie

Hiermee haalt u de kolomordinaal op, op basis van de naam van de kolom.

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

Parameters

name
String

De naam van de kolom.

Retouren

De op nul gebaseerde kolomordinaal.

Uitzonderingen

Er is geprobeerd een kolom in een gesloten DataTableReaderkolom te lezen of te openen.

De opgegeven naam is geen geldige kolomnaam.

Voorbeelden

Als u alleen een kolomnaam hebt, in welk geval de kolomnaam is opgegeven en u gegevens uit de kolom moet ophalen, kunt u een procedure zoals hieronder gebruiken om de vereiste gegevens op te halen. In dit voorbeeld accepteert de procedure een kolomnaam en retourneert de gegevens die zich in die kolom bevinden voor de huidige rij in het DataTableReader volgende:

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

Opmerkingen

Omdat de meeste methoden van de DataTableReader klasse moeten worden opgegeven met een rangnummer, kunt u de GetOrdinal methode gebruiken om het kolomnummer op te halen, op basis van de naam van de kolom.

GetOrdinal voert eerst een hoofdlettergevoelige zoekopdracht uit. Als dit mislukt, wordt een tweede niet hoofdlettergevoelige zoekopdracht uitgevoerd. Als het kolomnummer niet wordt gevonden, wordt er een ArgumentException gegenereerd.

GetOrdinal is niet gevoelig voor kana-breedte.

Omdat op ordinale gebaseerde zoekacties efficiënter zijn dan benoemde zoekacties, is het inefficiënt om binnen een lus aan te roepen GetOrdinal . Bespaar tijd door eenmalig aan te roepen GetOrdinal en de resultaten toe te wijzen aan een geheel getalvariabele voor gebruik binnen de lus

Van toepassing op