IDataRecord.GetOrdinal(String) 메서드

정의

명명된 필드의 인덱스 반환

public:
 int GetOrdinal(System::String ^ name);
public int GetOrdinal(string name);
abstract member GetOrdinal : string -> int
Public Function GetOrdinal (name As String) As Integer

매개 변수

name
String

찾을 필드의 이름입니다.

반품

명명된 필드의 인덱스입니다.

예제

다음 예제에서는 상속된 GetOrdinal 메서드를 사용하는 방법을 보여 줍니다.

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand(queryString, connection);

        connection.Open();
        OdbcDataReader reader = command.ExecuteReader();

        int customerID = reader.GetOrdinal("CustomerID");

        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }

        // Call Close when done reading.
        reader.Close();
    }
}
Public Sub ReadData(ByVal connectionString As String)
    Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"

    Using connection As New OdbcConnection(connectionString)
        Dim command As New OdbcCommand(queryString, connection)

        connection.Open()

        Dim reader As OdbcDataReader = command.ExecuteReader()

        Dim customerID As Integer = reader.GetOrdinal("CustomerID")

        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
        End While

        ' Call Close when done reading.
        reader.Close()
    End Using
End Sub

설명

GetOrdinal 는 대/소문자를 구분하는 조회를 먼저 수행합니다. 실패하면 대/소문자를 구분하지 않는 두 번째 검색이 이루어집니다. GetOrdinal 가나 너비를 구분하지 않습니다. 명명된 필드의 인덱스가 없으면 throw IndexOutOfRangeException 됩니다.

서수 기반 조회는 명명된 조회보다 더 효율적이므로 루프 내에서 호출 GetOrdinal 하는 것은 비효율적입니다. 루프 내에서 사용할 수 있도록 한 번 호출 GetOrdinal 하고 결과를 정수 변수에 할당하여 시간을 절약합니다.

적용 대상