DataTableReader.GetOrdinal(String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sütunun adı verilen sıra sütununu alır.
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
Parametreler
- name
- String
Sütunun adı.
Döndürülenler
Sıfır tabanlı sütun sıralı.
Özel durumlar
Kapalı bir içindeki bir sütunu okuma veya sütuna erişme girişiminde bulunuldu DataTableReader.
Belirtilen ad geçerli bir sütun adı değil.
Örnekler
Yalnızca bir sütun adınız varsa ve bu durumda sütun adı kullanıcı tarafından sağlanıyorsa ve sütundan bilgi almanız gerekiyorsa, gerekli bilgileri ayıklamak için aşağıdaki gibi bir yordam kullanabilirsiniz. Bu örnekte yordam bir sütun adını kabul eder ve içindeki geçerli satır DataTableReader için bu sütunun içinde yer alan verileri döndürür:
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
Açıklamalar
Sınıfı tarafından DataTableReader sağlanan yöntemlerin çoğunun sıralı sütun numarasıyla sağlanması gerektiğinden GetOrdinal , sütun adı verilen sütun numarasını almak için yöntemini kullanabilirsiniz.
GetOrdinal önce büyük/küçük harfe duyarlı bir arama gerçekleştirir. Başarısız olursa, ikinci bir büyük/küçük harfe duyarlı olmayan arama yapılır. Sütun numarası bulunamazsa bir ArgumentException oluşturulur.
GetOrdinal kana genişliğine duyarsız.
Sıra tabanlı aramalar adlandırılmış aramalardan daha verimli olduğundan, döngü içinde çağrı GetOrdinal yapmak verimsizdir. Bir kez çağırıp GetOrdinal döngü içinde kullanmak üzere sonuçları bir tamsayı değişkenine atayarak zaman kazanın