ERRO - DATAREADER

VELDRAME 11/01/2013 10:24:58
#417171
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
------------------------------------------------------------------------
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]
VELDRAME 11/01/2013 17:21:15
#417215
Poxa, tem alguém ai que possa me ajudar.
Ou indicar um link, pois até agora não ache nada que resolvesse.

Grato.
VELDRAME 15/01/2013 10:00:42
#417380
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...
VELDRAME 15/01/2013 14:49:47
#417418
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...

Tópico encerrado , respostas não são mais permitidas