DataTableReader.GetOrdinal(String) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri az oszlop sorszámát az oszlop nevének megadva.
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
Paraméterek
- name
- String
Az oszlop neve.
Válaszok
A nulla alapú oszloprend.
Kivételek
Egy bezárt DataTableReaderoszlop olvasására vagy elérésére tett kísérletet.
A megadott név nem érvényes oszlopnév.
Példák
Ha csak egy oszlopnévvel rendelkezik, amely esetben az oszlop neve felhasználóként van megadva, és adatokat kell lekérnie az oszlopból, az alábbihoz hasonló eljárással kinyerheti a szükséges információkat. Ebben a példában az eljárás egy oszlopnevet fogad el, és az adott oszlopban található adatokat adja vissza a következő oszlopban 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
Megjegyzések
Mivel az osztály által DataTableReader megadott metódusok többségének sorszámmal kell rendelkeznie, a GetOrdinal metódussal lekérheti az oszlopszámot az oszlop nevének megadásával.
GetOrdinal Először a kis- és nagybetűket megkülönböztető kereséseket hajtja végre. Ha nem sikerül, egy második kis- és nagybetűs keresés is létrejön. Ha az oszlopszám nem található, a rendszer eldobja ArgumentException .
GetOrdinal kana szélességű érzéketlen.
Mivel a sorszámalapú keresések hatékonyabbak, mint a nevesített keresések, nem hatékony a cikluson belüli hívás GetOrdinal . Időt takaríthat meg azáltal, hogy egyszer meghívja GetOrdinal az eredményeket, és hozzárendeli az eredményeket egy egész szám változóhoz a cikluson belüli használatra