SqlDataReader.GetOrdinal(String) 메서드

정의

열 이름이 지정된 경우 열 서수를 가져옵니다.Gets the column ordinal, given the name of the column.

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

매개 변수

name
String

열 이름입니다.The name of the column.

반환

열 서수(0부터 시작)입니다.The zero-based column ordinal.

구현

예외

지정된 이름이 올바른 열 이름이 아닌 경우The name specified is not a valid column name.

예제

다음 예제에서는 GetOrdinal 메서드를 사용하는 방법을 보여 줍니다.The following example demonstrates how to use the GetOrdinal method.

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

설명

GetOrdinal 대/소문자 구분 조회를 먼저 수행합니다.GetOrdinal performs a case-sensitive lookup first. 실패 하는 경우 대/소문자를 구분 하지 않는 검색을 수행 합니다. (데이터베이스 데이터 정렬을 사용 하 여 대/소문자를 구분 하지 않는 비교를 수행 합니다.)If it fails, a second, case-insensitive search occurs (a case-insensitive comparison is done using the database collation). 문화권별 대/소문자 규칙에 따라 비교가 영향을 받는 경우 예기치 않은 결과가 발생할 수 있습니다.Unexpected results can occur when comparisons are affected by culture-specific casing rules. 예를 들어 터키어에서 파일 시스템은 "file"의 문자 ' i '에 대 한 언어 대/소문자 규칙을 사용 하지 않으므로 터키어에서 다음 예제는 잘못 된 결과를 생성 합니다.For example, in Turkish, the following example yields the wrong results because the file system in Turkish does not use linguistic casing rules for the letter 'i' in "file". 0부터 시작 하는 열 서 수를 찾을 수 없는 경우 메서드는 IndexOutOfRange 예외를 throw 합니다.The method throws an IndexOutOfRange exception if the zero-based column ordinal is not found.

GetOrdinal 구분 되지 않습니다 일본어가 나 너비입니다.GetOrdinal is kana-width insensitive.

서 수 기반 조회가 명명 된 조회 보다 효율적 이기 때문에 것은 비효율적 호출 GetOrdinal 루프 내에서.Because ordinal-based lookups are more efficient than named lookups, it is inefficient to call GetOrdinal within a loop. GetOrdinal를 한 번 호출 하 고 루프 내에서 사용할 정수 변수에 결과를 할당 하 여 시간을 절약 합니다.Save time by calling GetOrdinal once and assigning the results to an integer variable for use within the loop.

적용 대상

추가 정보