LOOP COM BANCO MYSQL
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!
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!
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)
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)
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
Como eu disse no inÃcio[txt-color=#e80000] [Ô]uma dúvida que creio seja simples[/txt-color][Ô].
Pessoal valeu pela ajuda!
Pessoal valeu pela ajuda!
Tópico encerrado , respostas não são mais permitidas