SqlDataReader.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ıralı sütunu alır.
public:
override int GetOrdinal(System::String ^ name);
public:
virtual int GetOrdinal(System::String ^ name);
public override int GetOrdinal (string name);
public int GetOrdinal (string name);
override this.GetOrdinal : string -> int
abstract member GetOrdinal : string -> int
override this.GetOrdinal : string -> int
Public Overrides Function GetOrdinal (name As String) As Integer
Public 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ı.
Uygulamalar
Özel durumlar
Belirtilen ad geçerli bir sütun adı değil.
Örnekler
Aşağıdaki örnekte yönteminin nasıl kullanılacağı gösterilmektedir GetOrdinal .
private static void ReadGetOrdinal(string connectionString)
{
string queryString = "SELECT DISTINCT CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call GetOrdinal and assign value to variable.
int customerID = reader.GetOrdinal("CustomerID");
// Use variable with GetString inside of loop.
while (reader.Read())
{
Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
}
// Call Close when done reading.
reader.Close();
}
}
Private Sub ReadGetOrdinal(ByVal connectionString As String)
Dim queryString As String = _
"SELECT DISTINCT CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call GetOrdinal and assign value to variable.
Dim customerID As Integer = reader.GetOrdinal("CustomerID")
' Use variable with GetString inside of loop.
While reader.Read()
Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Açıklamalar
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 duyarsız arama gerçekleşir (veritabanı harmanlaması kullanılarak büyük/küçük harfe duyarsız karşılaştırma yapılır). Karşılaştırmalar kültüre özgü büyük/küçük harf kurallarından etkilendiğinde beklenmedik sonuçlar oluşabilir. Örneğin, Türkçe'de aşağıdaki örnek yanlış sonuçlar verir çünkü Türkçedeki dosya sistemi "file" içindeki 'i' harfi için dilsel büyük/küçük harf kuralları kullanmaz. Sıfır tabanlı sütun sıralı bulunamazsa yöntemi bir IndexOutOfRange
özel durum oluşturur.
GetOrdinal
kana-width 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ğırıp GetOrdinal
sonuçları döngü içinde kullanmak üzere bir tamsayı değişkenine atayarak zaman kazanın.