Erro de DataReader aberto

15/04/2013

0

Esse é o erro:
Já existe um DataReader aberto associado a este Command que deve ser fechado primeiro.

E esse é meu código. Há realmente um DataReader, mas está depois deste e eu posso abrir vários DataReader, certo? Abaixo meu código:
....
for (int dia_conta = 0; dia_conta < totalDias; dia_conta++)
{
//Contagem dos documentos triados
comandoSQL.AppendLine("select COUNT(id_triagem) as tt from tbl_Triagem " +
"where CONVERT(DATETIME, FLOOR(CONVERT(FLOAT(24), dt_cadastro))) = ''" + dataPeriodo[dia_conta] + "''");
this.cmd = new SqlCommand(comandoSQL.ToString(), sqlConexao);
cmd.ExecuteNonQuery();
SqlDataReader dro = cmd.ExecuteReader();
if (dro.HasRows)
{
while (dro.Read())
{
totalTriagem[dia_conta] = Convert.ToDouble(dro[0]);
}
}
}
...
Pjava

Pjava

Responder

Posts

16/04/2013

Pjava

Para essa situação, resolvi pq em outra query eu consegui trazer o count que eu precisava, porem não entendi o porque do erro. Sei bem que o DataReader ele é único, mas o que disse é que ele não estava aberto e dava esse erro. Se eu comento a linha dele, a outra query que tem a mesma coisa não dá erro. Só queria entender isso.
Responder

16/04/2013

Joel Rodrigues

Pra resolver isso você precisa adicionar um parâmetro na string de conexão. Veja este link: [url]http://msdn.microsoft.com/en-us/library/h32h3abf(v=vs.80).aspx[/url].
Responder

16/04/2013

Joel Rodrigues

Estou marcando este tópico como Concluído.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar