次の方法で共有


IDataRecord.GetOrdinal メソッド

指定したフィールドのインデックスを返します。

Function GetOrdinal( _
   ByVal name As String _) As Integer
[C#]
int GetOrdinal(
   stringname);
[C++]
int GetOrdinal(
   String* name);
[JScript]
function GetOrdinal(
   name : String) : int;

パラメータ

  • name
    検索するフィールドの名前。

戻り値

指定したフィールドのインデックス。

解説

GetOrdinal は、初めに大文字と小文字を区別して検索を実行します。それに失敗した場合は、大文字と小文字を区別せずに、2 回目の検索が実行されます。

GetOrdinal では、かなの全角と半角が区別されません。

序数ベースの検索は名前ベースの検索よりも効率的なため、ループ内で GetOrdinal を呼び出すことは非効率的です。 GetOrdinal を 1 回呼び出し、ループ内で使用するために結果を整数の変数に割り当てることによって、時間を節約できます。

使用例

[Visual Basic, C#, C++] 継承した GetOrdinal メソッドを使用する方法を次に示します。

 
Public Sub ReadMyData(myConnString As String)

  Dim mySelectQuery As String = "SELECT OrderID, CustomerID FROM Orders"
  Dim myConnection As New OdbcConnection(myConnString)
  Dim myCommand As New OdbcCommand(mySelectQuery, myConnection)

  myConnection.Open()

  Dim myReader As OdbcDataReader = myCommand.ExecuteReader()

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

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

  myReader.Close()
  myConnection.Close()
End Sub

[C#] 
public void ReadMyData(string myConnString)
{
    string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders";
    OdbcConnection myConnection = new OdbcConnection(myConnString);
    OdbcCommand myCommand = new OdbcCommand(mySelectQuery,myConnection);

    myConnection.Open();
    OdbcDataReader myReader = myCommand.ExecuteReader();

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

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

    myReader.Close();
    myConnection.Close();
}

[C++] 
public:
    void ReadMyData(String* myConnString)
    {
        String* mySelectQuery = S"SELECT OrderID, CustomerID FROM Orders";
        OdbcConnection* myConnection = new OdbcConnection(myConnString);
        OdbcCommand* myCommand = new OdbcCommand(mySelectQuery, myConnection);

        myConnection->Open();
        OdbcDataReader* myReader = myCommand->ExecuteReader();

        int custIdCol = myReader->GetOrdinal(S"CustomerID");

        while (myReader->Read())
            Console::WriteLine(S"CustomerID = {0}", myReader->GetString(custIdCol));

        myReader->Close();
        myConnection->Close();
    };

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

IDataRecord インターフェイス | IDataRecord メンバ | System.Data 名前空間