次の方法で共有


OleDbCommand.ExecuteReader メソッド (CommandBehavior)

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

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

パラメータ

戻り値

OleDbDataReader オブジェクト。

例外

例外の種類 条件
InvalidOperationException 接続を登録した当初のトランザクション コンテキストとは異なるコンテキストでは、コマンドを実行できません。

解説

OleDbCommand オブジェクトの ExecuteReader メソッドで SingleRow を指定すると、OLE DB .NET Framework データ プロバイダは、OLE DB IRow インターフェイスが利用できる場合はそれを使用して、連結を実行します。利用できない場合は、IRowset インターフェイスを使用します。SQL ステートメントが 1 行だけを返す場合は、 SingleRow を指定することによって、アプリケーション パフォーマンスを向上させることもできます。

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

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

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

使用例

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

 
Public Sub CreateMyOleDbDataReader(mySelectQuery As String, _
myConnectionString As String)
    Dim myConnection As New OleDbConnection(myConnectionString)
    Dim myCommand As New OleDbCommand(mySelectQuery, myConnection)
    myConnection.Open()
    Dim myReader As OleDbDataReader = 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 CreateMyOleDbDataReader(string mySelectQuery,string myConnectionString) 
{
   OleDbConnection myConnection = new OleDbConnection(myConnectionString);
   OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);
   myConnection.Open();
   OleDbDataReader 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 CreateMyOleDbDataReader(String* mySelectQuery, String* myConnectionString)
    {
        OleDbConnection* myConnection = new OleDbConnection(myConnectionString);
        OleDbCommand* myCommand = new OleDbCommand(mySelectQuery, myConnection);
        myConnection->Open();
        OleDbDataReader* myReader = myCommand->ExecuteReader(CommandBehavior::CloseConnection);
        while(myReader->Read())
        {
            Console::WriteLine(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 ファミリ

参照

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