OracleDataReader.GetOrdinal(String) メソッド

定義

列の名前を指定して、列の序数を取得します。

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

パラメーター

name
String

列の名前。

返品

0 から始まる列の序数。

実装

次の例では、 GetOrdinal メソッドの使用方法を示します。

Public Sub ReadOracleData(ByVal connectionString As String)

    Dim queryString As String = "SELECT OrderID, CustomerID FROM Orders"
    Dim connection As New OracleConnection(connectionString)
    Dim command As New OracleCommand(queryString, connectionString)

    connection.Open()

    Dim reader As OracleDataReader = command.ExecuteReader()

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

    Do While reader.Read()
        Console.WriteLine("CustomerID = {0}", reader.GetString(custIdCol))
    Loop

    reader.Close()
    connection.Close()
End Sub
public void ReadOracleData(string connectionString)
{
    string queryString = "SELECT OrderID, CustomerID FROM Orders";
    OracleConnection connection = new OracleConnection(connectionString);
    OracleCommand command = new OracleCommand(queryString,connection);

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

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

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

    reader.Close();
    connection.Close();
}

注釈

GetOrdinal では、大文字と小文字が区別される検索が最初に実行されます。 失敗した場合は、大文字と小文字を区別しない 2 つ目の検索が行われます。 このメソッドは、0 から始まる列序数が見つからない場合、 IndexOutOfRange 例外をスローします。

GetOrdinal はかな幅を区別しません。

序数ベースの参照は名前付き参照よりも効率的であるため、ループ内で GetOrdinal を呼び出すのは非効率的です。 代わりに、 GetOrdinal を 1 回呼び出し、ループ内で使用するために結果を整数変数に割り当てます。

適用対象