LOOP COM BANCO MYSQL

JGANJOS 18/04/2011 10:21:12
#371666
Olá pessoal, estou iniciando por aqui e estou com uma dúvida que creio seja simples... mas estou para aprender.

Tenho de atualizar uma list box que puxa os dados de um banco mysql.
A busca, e para carregar esta dando certo, mas estou com dificuldades na hora de criar o loop, pois carrega apenas 1 registro do banco de dados.
Estou usando o seguinte código:

for = Fornecedor
fan = Nome Fantasia

MyCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]select * from cadastro_geral where tip like [ô]for[ô] order by fan DESC[Ô], MyCON)
MyDRR = MyCMD.ExecuteReader

With ListBox1

.Items.Clear()

If MyDRR.HasRows Then

MyDRR.Read()

While MyDRR.Read()
.Items.Add(MyDRR.Item([Ô]fan[Ô]).ToString)
MyDRR.NextResult()
End While
End If

End With


Desede já agradeço!
PIOLHO 18/04/2011 10:34:32
#371672
JGANJOS,

Basta remover o MyDRR.NextResult().

MyCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]select * from cadastro_geral where tip like [ô]for[ô] order by fan DESC[Ô], MyCON)
MyDRR = MyCMD.ExecuteReader

With ListBox1

.Items.Clear()

If MyDRR.HasRows Then

MyDRR.Read()

While MyDRR.Read()
.Items.Add(MyDRR.Item([Ô]fan[Ô]).ToString)
[txt-color=#e80000]MyDRR.NextResult()[/txt-color]
End While
End If

End With

Ficaria assim:

MyCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]select * from cadastro_geral where tip like [ô]for[ô] order by fan DESC[Ô], MyCON)
MyDRR = MyCMD.ExecuteReader

With ListBox1

.Items.Clear()

If MyDRR.HasRows Then

MyDRR.Read()

While MyDRR.Read()
.Items.Add(MyDRR.Item([Ô]fan[Ô]).ToString)
End While
End If

End With

Sobre o NextResult(), é utilizado quando tem mais de uma instrução SQL no mesmo command. Ex.: estou colocando dois SQL tabela1 e tabela2, com o NextResult(), o command executaria o select da tabela2.

... = MySqlCommand([Ô]Select * from tabela1;Select * from tabela2[Ô], MyCON)
JONATHANSTECKER 18/04/2011 10:42:03
#371673
Resposta escolhida
Vamos tentar algo bem mais simples...
MyCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]select * from cadastro_geral where tip like [ô]for[ô] order by fan DESC[Ô], MyCON)
MyDRR = MyCMD.ExecuteReader
With ListBox1
.Items.Clear()
While MyDRR.Read()
.Items.Add(MyDRR.Item([Ô]fan[Ô]).ToString)
End While
End With
JGANJOS 18/04/2011 17:33:08
#371744
Como eu disse no início[txt-color=#e80000] [Ô]uma dúvida que creio seja simples[/txt-color][Ô].
Pessoal valeu pela ajuda!
Tópico encerrado , respostas não são mais permitidas