Erro com acessos simultâneos

24/07/2013

0

Pessoal, estou com um problema de acessos simultâneos em minha aplicação.
Sempre que faço um teste de duas buscas ao mesmo tempo, o erro abaixo é retornado.

"There is already an open DataReader associated with this Command which must be closed first."

Não estou conseguindo resolver o problema.
Alguém sabe me dizer o que estou fazendo de errado?

Segue o código.

clsDados.cs

public class clsDados
    {
        private static string strConexao = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;
        private static SqlConnection conexao = new SqlConnection(strConexao);

        public SqlConnection fechaConexao()
        {
            if (conexao.State != ConnectionState.Closed)
            {
                conexao.Close();
            }
            return conexao;
        }

        public SqlConnection abreConexao()
        {
            if (conexao.State != ConnectionState.Open)
            {
                conexao.Open();
            }
            return conexao;
        }
    }


clsBusca.cs

public class clsBusca
    {
        public DataSet BuscarResultados(string Texto_Busca)

        {
            clsDados objDados = new clsDados();

            SqlCommand comand = new SqlCommand("BuscarResultados", objDados.abreConexao());
            comand.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter adapter = new SqlDataAdapter(comand);
            comand.Parameters.AddWithValue("@Texto_Busca", Texto_Busca);

            try
            {
                DataSet dataSet = new DataSet();

                //Atualiza o dataSet
                adapter.Fill(dataSet);
                return dataSet;
            }
            catch (SqlException ex)
            {
                throw new Exception("Erro encontrado: " + ex.Message);
            }
            finally
            {
                objDados.fechaConexao();
            }
        }
    }


String de conexão

<connectionStrings>
		<add name="strConn" connectionString="Data Source=XXX.XX.XX.XXX;Initial Catalog=XXX;Persist Security Info=True;User ID=XXX;Password=XXX;"/>
	</connectionStrings>


Desde já, agradeço a atenção de todos.
Lilian Paula

Lilian Paula

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar