次の方法で共有


OdbcCommand.ExecuteReader メソッド (CommandBehavior)

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

CommandTextConnection に送信し、 CommandBehavior 値のいずれかを使用して OdbcDataReader を構築します。

Overloads Public Function ExecuteReader( _
   ByVal behavior As CommandBehavior _) As OdbcDataReader
[C#]
public OdbcDataReader ExecuteReader(CommandBehaviorbehavior);
[C++]
public: OdbcDataReader* ExecuteReader(CommandBehaviorbehavior);
[JScript]
public function ExecuteReader(
   behavior : CommandBehavior) : OdbcDataReader;

パラメータ

  • behavior
    System.Data.CommandBehavior 値の 1 つ。

戻り値

OdbcDataReader オブジェクト。

解説

SQL ステートメントから単一行だけを返すようにする場合は、 CommandBehavior 値として SingleRow を指定すると、アプリケーションのパフォーマンスが向上します。

CommandText プロパティには、ストアド プロシージャを呼び出すための完全な ODBC 呼び出し構文を設定する必要があります。 ExecuteReader を呼び出すと、このストアド プロシージャがコマンドによって実行されます。

OdbcDataReader は、サイズの大きいバイナリ値を効率的に読み取るための特別なモードをサポートします。詳細については、 CommandBehaviorSequentialAccess 設定のトピックを参照してください。

メモ    CommandBehaviorSequentialAccess 値は、制限のための設定ではなく、少なくとも OdbcDataReader へのシーケンシャル アクセスが可能であることを示すだけです。たとえば、SQL Server の ODBC ドライバを SequentialAccess モードで使用している場合、他のすべての列を順番に読み取った後でも、 OdbcDataReader の行の最初の列へ移動できます。

OdbcDataReader の使用中は、関連付けられた OdbcConnection は、その OdbcDataReader によって使用されるためビジー状態になります。この状態では、 OdbcConnection に対して、閉じる以外の操作を実行できません。 OdbcDataReader.Close メソッドを呼び出すまでは、この状態が続きます。 CommandBehaviorCloseConnection に設定して OdbcDataReader を作成した場合、 OdbcDataReader を閉じると、接続が自動的に閉じられます。

使用例

[Visual Basic, C#, C++] OdbcCommand を作成し、SQL SELECT ステートメントの文字列とデータ ソースへの接続に使用する文字列を渡してこのコマンドを実行する例を次に示します。ここでは、続いて、 CommandBehaviorCloseConnection に設定しています。

 
Public Sub CreateMyOdbcDataReader(mySelectQuery As String, _
myConnectionString As String)
    Dim myConnection As New OdbcConnection(myConnectionString)
    Dim myCommand As New OdbcCommand(mySelectQuery, myConnection)
    myConnection.Open()
    Dim myReader As OdbcDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
    While myReader.Read()
        Console.WriteLine(myReader.GetString(0))
    End While
    myReader.Close()
    'Implicitly closes the connection because CommandBehavior.CloseConnection was specified.
 End Sub


[C#] 
public void CreateMyOdbcDataReader(string mySelectQuery,string myConnectionString) 
{
   OdbcConnection myConnection = new OdbcConnection(myConnectionString);
   OdbcCommand myCommand = new OdbcCommand(mySelectQuery, myConnection);
   myConnection.Open();
   OdbcDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
   while(myReader.Read()) 
   {
      Console.WriteLine(myReader.GetString(0));
   }
   myReader.Close();
   //Implicitly closes the connection because CommandBehavior.CloseConnection was specified.
}


[C++] 
public:
    void CreateMyOdbcDataReader(String* mySelectQuery, String* myConnectionString)
    {
        OdbcConnection* myConnection = new OdbcConnection(myConnectionString);
        OdbcCommand* myCommand = new OdbcCommand(mySelectQuery, myConnection);
        myConnection->Open();
        OdbcDataReader* myReader = myCommand->ExecuteReader(CommandBehavior::CloseConnection);

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

        myReader->Close();
        //Implicitly closes the connection because CommandBehavior::CloseConnection was specified.
    };

[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 ファミリ

参照

OdbcCommand クラス | OdbcCommand メンバ | System.Data.Odbc 名前空間 | OdbcCommand.ExecuteReader オーバーロードの一覧