Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaelsouzab

Erro com data reader

Recommended Posts

Boa noite galera,

seguinte, estou com um probleminha aqui com um codigo...

qualquer coisa que tento executar no while da erro falando que um outro dr esta aberto e deveria ser fechado etc...


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

comentei esse codigo e parou de dar o erro, porem eu preciso desse codigo para exibir algumas informações na tela...

SqlCommand cmd10 = new SqlCommand();
cmd10.CommandText = String.Format("select *from alertas");
cmd10.CommandType = CommandType.Text;
cmd10.Connection = Conexao.abreConexao();
SqlDataReader DR10;
try
{
DR10 = cmd10.ExecuteReader();

while (DR10.Read())
{
MessageBox.Show("teste");
}
cmd10.Dispose();
DR10.Close();

}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
Conexao.fecharConexao();
}



o erro da nesse codigo data reader

SqlCommand cmd15 = new SqlCommand();
            cmd15.CommandText = String.Format("select status_user, nome_user from usuarios");
            cmd15.CommandType = CommandType.Text;
            cmd15.Connection = Conexao.abreConexao();
            SqlDataReader DR15;
            try
            {
                DR15 = cmd15.ExecuteReader();

                while (DR15.Read())
                {
                    addSO = DR15["nome_user"].ToString();
                    addSO += " ";
                    addSO += "(";
                    addSO += DR15["status_user"].ToString();
                    addSO += ")";

                    if (lsbStatusOperador.Items.Contains(addSO.ToString()))
                    {

                    }
                    else
                    {
                        if (DR15["status_user"].ToString() == "OFF")
                        {
                            lsbStatusOperador.Items.Remove(DR15["nome_user"].ToString());
                        }
                        lsbStatusOperador.Items.Add(addSO.ToString());
                    }
                }
                cmd15.Dispose();
                DR15.Close();

            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                Conexao.fecharConexao();
            }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.