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ı verilip sütun sırasını 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ğlandıysa ve sütundan bilgi almanız gerekiyorsa, gerekli bilgileri ayıklamak için aşağıdakine benzer 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ğu sıralı sütun numarasıyla sağlanmalıdır, çünkü sütun adı verilen sütun numarasını almak için yöntemini kullanabilirsiniz GetOrdinal
.
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 IndexOutOfRangeException
oluşturulur.
GetOrdinal
kana genişliğine duyarsızdır.
Sıra tabanlı aramalar adlandırılmış aramalardan daha verimli olduğundan, döngü içinde çağrı GetOrdinal
yapmak verimsizdir. Bir kez çağırarak GetOrdinal
ve sonuçları döngü içinde kullanmak üzere bir tamsayı değişkenine atayarak zaman kazanın