title: Error: ExecuteReader requires an open and available Connection. The connection's current state is open
body: <p>I have mvc 4 website with DataHelperClass below to execute query. My problem is sometimes, website through exeception as title. I used using block to dispose SqlCommand and SqlDataAdapter but not success.</p>
  
  <p>Please help me, sorry for my english.</p>
  
  <pre><code>        try
          {
              if (_conn.State == ConnectionState.Closed)
                  _conn.Open();
  
              using (SqlCommand sqlCommand = new SqlCommand(query, _conn))
              {
                  sqlCommand.CommandType = CommandType.StoredProcedure;
  
                  if (parameters != null)
                      sqlCommand.Parameters.AddRange(parameters);
  
                  //// check transaction is exist
                  if (_trans != null)
                      sqlCommand.Transaction = _trans;
  
                  DataTable dt = new DataTable();
                  using (SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCommand))
                  {
                      sqlDataAdapter.Fill(dt);
                  }
  
                  return dt;
              }
          }
          finally
          {
              //// close connection automatically if transaction is not exist
              if (_trans == null) { _conn.Close(); }
          }
  </code></pre>