次の方法で共有


SqlCommand.ExecuteReader メソッド ()

CommandTextConnection に送信し、 SqlDataReader を構築します。

Overloads Public Function ExecuteReader() As SqlDataReader
[C#]
public SqlDataReader ExecuteReader();
[C++]
public: SqlDataReader* ExecuteReader();
[JScript]
public function ExecuteReader() : SqlDataReader;

戻り値

SqlDataReader オブジェクト。

例外

例外の種類 条件
Exception コマンドを実行できませんでした。
SqlException ロックされている行に対してコマンドを実行しているときに例外が発生しました。この例外は .NET Framework Version 1.0 を使用している場合は生成されません。

解説

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

SqlDataReader の使用中は、関連付けられた SqlConnection は、その SqlDataReader によって使用されるためビジー状態になります。この状態では、 SqlConnection に対して、閉じる以外の操作を実行できません。 SqlDataReaderClose メソッドを呼び出すまでこの状態が続きます。

使用例

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

 
Public Sub CreateMySqlDataReader(mySelectQuery As String, myConnection As SqlConnection)
    Dim myCommand As New SqlCommand(mySelectQuery, myConnection)
    myConnection.Open()
    Dim myReader As SqlDataReader
    myReader = myCommand.ExecuteReader()
    Try
    While myReader.Read()
        Console.WriteLine(myReader.GetString(0))
    End While
Finally
    myReader.Close
    myConnection.Close
    End Try
End Sub 'CreateMySqlCommand

[C#] 
public void CreateMySqlDataReader(string mySelectQuery, SqlConnection myConnection) 
 {
    SqlCommand myCommand = new SqlCommand(mySelectQuery, myConnection);
    myConnection.Open();
    SqlDataReader myReader;
    myReader = myCommand.ExecuteReader();
    try
    {
      while(myReader.Read()) 
      {
        Console.WriteLine(myReader.GetString(0));
      }
    }
    finally
    {
      myReader.Close();
      myConnection.Close();
    }
 }

[C++] 
public:
void CreateMySqlDataReader(String* mySelectQuery, SqlConnection* myConnection) 
 {
    SqlCommand* myCommand = new SqlCommand(mySelectQuery, myConnection);
    myConnection->Open();
    SqlDataReader* myReader;
    myReader = myCommand->ExecuteReader();
    try
    {
      while(myReader->Read()) 
      {
        Console::WriteLine(myReader->GetString(0));
      }
    }
    __finally
    {
      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

参照

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