ERRO - DATAREADER
Bom dia pessoal.
Novo problema, mas agora com um DataReader.
[txt-color=#e80000]Erro[/txt-color]
Ocorreu uma exceção sem tratamento do tipo [ô]System.InvalidOperationException[ô] em System.Data.dll
Informações adicionais: Já existe um DataReader aberto associado a este Command que deve ser fechado primeiro.
O Erro ocorre no item indicado, o primeiro DataReader ( [Ô]rs[Ô] ) funciona, mas quando chega no segundo ( [Ô]rsAux[Ô] ) dá o erro acima.
Mas como podemos ver, são DataReader diferentes.
A unica coisa que dá certo é fechar o Using Comando: [txt-color=#007100] [ô]Abre - Comando [Ô]Busca Cliente[Ô][/txt-color]
mas se eu fizer isso eu perco o LOOP do [txt-color=#007100]Comando [Ô]Busca Cliente[Ô][/txt-color]
Alguém tem alguma ideia de como resolver isso?
Segue o Código
[ô]Em um Modulo
Novo problema, mas agora com um DataReader.
[txt-color=#e80000]Erro[/txt-color]
Ocorreu uma exceção sem tratamento do tipo [ô]System.InvalidOperationException[ô] em System.Data.dll
Informações adicionais: Já existe um DataReader aberto associado a este Command que deve ser fechado primeiro.
O Erro ocorre no item indicado, o primeiro DataReader ( [Ô]rs[Ô] ) funciona, mas quando chega no segundo ( [Ô]rsAux[Ô] ) dá o erro acima.
Mas como podemos ver, são DataReader diferentes.
A unica coisa que dá certo é fechar o Using Comando: [txt-color=#007100] [ô]Abre - Comando [Ô]Busca Cliente[Ô][/txt-color]
mas se eu fizer isso eu perco o LOOP do [txt-color=#007100]Comando [Ô]Busca Cliente[Ô][/txt-color]
Alguém tem alguma ideia de como resolver isso?
Segue o Código
[ô]Em um Modulo
------------------------------------------------------------------------
Public Conn As New SqlConnection
Public rs As SqlDataReader
Public Comando As New SqlCommand
Public rsAux As SqlDataReader
Public ComandoAux As New SqlCommand
------------------------------------------------------------------------
[ô]Em um botão no Form:
Using Comando As New SqlClient.SqlCommand [txt-color=#007100] [ô]Abre - Comando [Ô]Busca Cliente[Ô][/txt-color]
With Comando
.Connection = Conn
.CommandType = CommandType.Text
.CommandText = [Ô]Select * from vwCliente order by Cliente[Ô]
rs = .ExecuteReader
[txt-color=#007100] [ô]Loop para passar em todos os processos (Clientes)[/txt-color]
If rs.HasRows = True Then [ô]Se houver registro
While rs.Read [ô]Abre Loop - [Ô]Clientes[Ô]
[ô]Carrega cadastro básico do cliente
wIdFTP = rs!idftp [ô]Código do cliente
wFTP = rs!Cliente [ô]Nome do Cliente
wPastaArquivo_Des = strNulo(rs!Destino, Path.GetPathRoot([Ô]C:\[Ô])) [ô]Pasta Destino
wPastaArquivo_Ori = strNulo(rs!Origem, Path.GetPathRoot([Ô]C:\[Ô])) [ô]Pasta Origem
[ô]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ô]Carrega lista de e-Mail
Using ComandoAux As New SqlClient.SqlCommand [txt-color=#007100] [ô]Abre - Camando [Ô]Busca e-Mail[Ô][/txt-color]
With ComandoAux
.Connection = Conn
.CommandType = CommandType.Text
.CommandText = [Ô]Select email from parametro_email where idFtp = [Ô] & wIdFTP & [Ô] and ativo=[ô]True[ô][Ô]
rsAux = .ExecuteReader
If rsAux.HasRows = True Then
While rsAux.Read [txt-color=#007100][ô]Abre Loop - [Ô]e-Mail[Ô][/txt-color]
wEmailCliente = wEmailCliente & [Ô];[Ô] & rsAux!email
lstLog.Items.Add(rsAux!email)
lstLog.SelectedIndex = lstLog.Items.Count - 1
wEmailCliente = rsAux!email
End While [txt-color=#007100] [ô]Fecha Loop - [Ô]e-Mail[Ô][/txt-color]
End If
rsAux.Close()
End With
End Using [txt-color=#007100] [ô]Fecha - Camando [Ô]Busca e-Mail[Ô][/txt-color]
[ô]------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
End While [txt-color=#007100][ô]Fecha Loop - [Ô]Clientes[Ô][/txt-color]
End If
rs.Close()
End With
End Using [txt-color=#007100][ô]Fecha - Camando [Ô]Busca Cliente[Ô][/txt-color]
Poxa, tem alguém ai que possa me ajudar.
Ou indicar um link, pois até agora não ache nada que resolvesse.
Grato.
Ou indicar um link, pois até agora não ache nada que resolvesse.
Grato.
Não quero ser chato, mas não estou achando ajuda em lugar nenhum.]
Achei muita informação de como e o que é USING para VB e C#.
Mas a minha dúvida é: [Ô]como usar um [txt-color=#e80000]USING dentro de outro USING[/txt-color]?[Ô]
Mesmo usando dois SqlCommand diferentes (Comando e ComandoAux) para 2 SqlDataReader diferentes (rs e rsAux) o erro - Já existe um DataReader aberto associado a este Command que deve ser fechado primeiro.- aparece para o rsAux como se ele estivesse a mesma conexão do rs.
Alguém sabe como resolver.
Já postei em outros fórum e parece que ninguém sabe como.
Continuo no aguardo, enquanto isso desenvolvo outras partes do programa...
Achei muita informação de como e o que é USING para VB e C#.
Mas a minha dúvida é: [Ô]como usar um [txt-color=#e80000]USING dentro de outro USING[/txt-color]?[Ô]
Mesmo usando dois SqlCommand diferentes (Comando e ComandoAux) para 2 SqlDataReader diferentes (rs e rsAux) o erro - Já existe um DataReader aberto associado a este Command que deve ser fechado primeiro.- aparece para o rsAux como se ele estivesse a mesma conexão do rs.
Alguém sabe como resolver.
Já postei em outros fórum e parece que ninguém sabe como.
Continuo no aguardo, enquanto isso desenvolvo outras partes do programa...
Descobri o porquê do Erro quando se usa duas conexões, um dentro do outro, seja com USING ou não.
Solucionei o problema sem gato.
Tópico fechado.
Obrigado aos que ao menos tentaram achar algo para me ajudar.
Ao que precisarem, continuarei aqui...
Solucionei o problema sem gato.
Tópico fechado.
Obrigado aos que ao menos tentaram achar algo para me ajudar.
Ao que precisarem, continuarei aqui...
Tópico encerrado , respostas não são mais permitidas