IDataRecord.GetOrdinal(String) メソッド

定義

名前付きフィールドのインデックスを返します。Return the index of the named field.

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

検索するフィールドの名前。The name of the field to find.

戻り値

Int32

名前付きフィールドのインデックス。The index of the named field.

次の例は、継承されたメソッドの使用方法を示して GetOrdinal います。The following example demonstrates how to use the inherited GetOrdinal method.

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 performs a case-sensitive lookup first. 失敗した場合、次に大文字と小文字を区別せずに検索が行われます。If it fails, a second case-insensitive search is made. GetOrdinal では、カタカナの全角と半角が区別されません。GetOrdinal is kana-width insensitive. 名前付きフィールドのインデックスが見つからない場合は、 IndexOutOfRangeException がスローされます。If the index of the named field is not found, an IndexOutOfRangeException is thrown.

序数に基づく参照は名前による参照よりも効率的であるため、ループ内で 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 one time and assigning the results to an integer variable for use within the loop.

適用対象