Array
(
)

Erro de DataReader aberto

Pjava
   - 15 abr 2013

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
   - 16 abr 2013

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.

0
|
0

Joel Rodrigues
   - 16 abr 2013

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

0
|
0

Joel Rodrigues
   - 16 abr 2013

Estou marcando este tópico como Concluído.

0
|
0