SqlDataReader.GetOrdinal(String) Yöntem

Tanım

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.

Şunlara uygulanır

Ayrıca bkz.