2009-07-21 9 views
0

次のエラーメッセージが表示されます。ExecuteReaderのエラー

System.InvalidOperationException:ExecuteReaderには開いている利用可能な接続が必要です。接続の現在の状態はClosedです。

そして、ここに私のコードです:

public IDataReader ExecuteReader() 
{ 
    IDataReader reader = null; 

    try 
    { 
     this.Open(); 
     reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); 
    } 
    catch (Exception ex) 
    { 
     if (handleErrors) 
      strLastError = ex.Message; 
     else 
      throw; 
    } 
    catch 
    { 
     throw; 
    } 

    return reader; 
} 

誰もが、私はこの問題を解決する方法を知っていますか?

+0

あなたがオープン()メソッドを投稿することができますか? – Canavar

答えて

1

SQLCommandが接続されているConnectionオブジェクトが開かれていません。照会するには、接続を開く必要があります。このような

何か:

private static void OpenSqlConnection(string connectionString) 
{ 
    using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 
     connection.Open(); 

     var cmd = connection.CreateCommand(); 
     // Do your command access here. 

    } 
} 
関連する問題