다음을 통해 공유


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에서는 가나 너비를 구분하지 않습니다. 명명된 필드의 인덱스가 없으면 이 IndexOutOfRangeException throw됩니다.

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

적용 대상