LOOP
Boa noite!
Alguém poderia me dizer como eu faço um loop nesse código?
Dim quant As Integer
quant = Val(DgPedido.CurrentRow.Cells([Ô]QUANTIDADE[Ô]).Value)
Dim up As New MySql.Data.MySqlClient.MySqlCommand([Ô]UPDATE PRODUTOS SET QUANTIDADE = QUANTIDADE - @quantidade where codigo[Ô], conecta.GetConexao2)
up.Parameters.AddWithValue([Ô]@quantidade[Ô], Val(quant))
up.ExecuteNonQuery()
up.Dispose()
Refresh()
conecta.Desconectar2()
Gratto!
Alguém poderia me dizer como eu faço um loop nesse código?
Dim quant As Integer
quant = Val(DgPedido.CurrentRow.Cells([Ô]QUANTIDADE[Ô]).Value)
Dim up As New MySql.Data.MySqlClient.MySqlCommand([Ô]UPDATE PRODUTOS SET QUANTIDADE = QUANTIDADE - @quantidade where codigo[Ô], conecta.GetConexao2)
up.Parameters.AddWithValue([Ô]@quantidade[Ô], Val(quant))
up.ExecuteNonQuery()
up.Dispose()
Refresh()
conecta.Desconectar2()
Gratto!
não entendi como deseja implementar... mas vc pode usar for ou while para fazer esse loop, segue modelo:
[c]
for i=0 to 9
[ô]seu codigo aqui para repetir 10 vezes
next[
while fazer=true
[ô]seu codigo aqui enquanto fazer=true
loop
/c]
boa sorte na sua implementação!
[c]
for i=0 to 9
[ô]seu codigo aqui para repetir 10 vezes
next[
while fazer=true
[ô]seu codigo aqui enquanto fazer=true
loop
/c]
boa sorte na sua implementação!
Pessoal vou explicar melhor...
No meu projeto eu estou na tela de vendas, eu consigo cadastrar minha venda normal na tabela vendas no mysql, ja ate estou usando um loop para adicionar todas as linhas dos itens no meu datagrid.
porem, alem de cadastrar a venda eu tbm preciso dar baixa na quantidade dos meus produtos do banco de dados, logo acima eu postei apenas a parte do codigo onde eu atualizo a quantidade, mas ele esta atualizando a quantidade de todos os produtos do banco de dados.
Vou postar a parte do cadastro da venda inteiro, e se alguem puder me ajudar ou indicar uma outra forma de se fazer essa baixa no banco de dados ficarei agradecido...
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim hora As String
Dim data As String
Dim cod As String
Dim codV As String
hora = Format(TimeOfDay, [Ô]hhmmss[Ô])
data = Format(Date.Today, [Ô]ddMMyy[Ô])
cod = TextCodigoV.Text
codV = (hora + cod + data)
[ô][ô][ô][ô](ONDE CADASTRO TODOS OS ITENS DO DATAGRID DA VENDA NO BANCO DE DADOS, FUNCIONANDO!)
For i = 0 To DgPedido.Rows.Count - 1
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]insert into VENDA(CODVENDA, CODPRODUTO, QUANTIDADE, VALOR, DESCRICAO, CODVENDEDOR, VENDEDOR, DATA) VALUES ([ô][Ô] & _
codV & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]codigo[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]QUANTIDADE[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]VALOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]DESCRICAO[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]CODVENDEDOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]VENDEDOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]DATA[Ô], i).Value & [Ô][ô])[Ô], conecta.GetConexao2)
command.ExecuteNonQuery()
command.Dispose()
Next
[ô][ô][ô][ô](ONDE ESTOU ATUALIZANDO A QUANTIDADE DE PRODUTOS NO BANCO DE DADOS)
Dim quant As Integer
quant = Val(DgPedido.CurrentRow.Cells([Ô]QUANTIDADE[Ô]).Value)
Dim up As New MySql.Data.MySqlClient.MySqlCommand([Ô]UPDATE PRODUTOS SET QUANTIDADE = QUANTIDADE - @quantidade where codigo[Ô], conecta.GetConexao2)
up.Parameters.AddWithValue([Ô]@quantidade[Ô], Val(quant))
up.ExecuteNonQuery()
up.Dispose()
Refresh()
conecta.Desconectar2()
MsgBox([Ô]Venda concluida com sucesso[Ô])
End Sub
No meu projeto eu estou na tela de vendas, eu consigo cadastrar minha venda normal na tabela vendas no mysql, ja ate estou usando um loop para adicionar todas as linhas dos itens no meu datagrid.
porem, alem de cadastrar a venda eu tbm preciso dar baixa na quantidade dos meus produtos do banco de dados, logo acima eu postei apenas a parte do codigo onde eu atualizo a quantidade, mas ele esta atualizando a quantidade de todos os produtos do banco de dados.
Vou postar a parte do cadastro da venda inteiro, e se alguem puder me ajudar ou indicar uma outra forma de se fazer essa baixa no banco de dados ficarei agradecido...
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim hora As String
Dim data As String
Dim cod As String
Dim codV As String
hora = Format(TimeOfDay, [Ô]hhmmss[Ô])
data = Format(Date.Today, [Ô]ddMMyy[Ô])
cod = TextCodigoV.Text
codV = (hora + cod + data)
[ô][ô][ô][ô](ONDE CADASTRO TODOS OS ITENS DO DATAGRID DA VENDA NO BANCO DE DADOS, FUNCIONANDO!)
For i = 0 To DgPedido.Rows.Count - 1
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]insert into VENDA(CODVENDA, CODPRODUTO, QUANTIDADE, VALOR, DESCRICAO, CODVENDEDOR, VENDEDOR, DATA) VALUES ([ô][Ô] & _
codV & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]codigo[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]QUANTIDADE[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]VALOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]DESCRICAO[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]CODVENDEDOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]VENDEDOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]DATA[Ô], i).Value & [Ô][ô])[Ô], conecta.GetConexao2)
command.ExecuteNonQuery()
command.Dispose()
Next
[ô][ô][ô][ô](ONDE ESTOU ATUALIZANDO A QUANTIDADE DE PRODUTOS NO BANCO DE DADOS)
Dim quant As Integer
quant = Val(DgPedido.CurrentRow.Cells([Ô]QUANTIDADE[Ô]).Value)
Dim up As New MySql.Data.MySqlClient.MySqlCommand([Ô]UPDATE PRODUTOS SET QUANTIDADE = QUANTIDADE - @quantidade where codigo[Ô], conecta.GetConexao2)
up.Parameters.AddWithValue([Ô]@quantidade[Ô], Val(quant))
up.ExecuteNonQuery()
up.Dispose()
Refresh()
conecta.Desconectar2()
MsgBox([Ô]Venda concluida com sucesso[Ô])
End Sub
Está faltando você definir o Código quer atualizar
Dim up As New MySql.Data.MySqlClient.MySqlCommand([Ô]UPDATE PRODUTOS SET QUANTIDADE = QUANTIDADE - @quantidade where codigo=@Codigo[Ô], conecta.GetConexao2)
up.Parameters.AddWithValue([Ô]@quantidade[Ô], Val(quant))
up.Parameters.AddWithValue([Ô]@Codigo[Ô], Val(DgPedido.CurrentRow.Cells([Ô]CODIGO[Ô]).Value)
Boa tarde pessoal!
SAMUKA, o seu condigo funcionou, agora ja esta dando baixa apenas naquele produto!
Porem se no meu datagrid tiver mais de 1 item, por exemplo se naquela venda o cliente comprar 01 mouse + 01 teclado a segunda linha do datagrid que é o teclado e nao esta dando baixa no banco, apenas a primeira linha
SAMUKA, o seu condigo funcionou, agora ja esta dando baixa apenas naquele produto!
Porem se no meu datagrid tiver mais de 1 item, por exemplo se naquela venda o cliente comprar 01 mouse + 01 teclado a segunda linha do datagrid que é o teclado e nao esta dando baixa no banco, apenas a primeira linha
Execute uma depuração Linha - a - Linha e confirme se o loop FOR está ocorrendo 2 vezes, qdo tem dois produtos
SAMUKA o loop esta ocorrendo sim, ele esta inserindo na minha tabela VENDAS do meu banco de dados normal, independente da quantidade de itens no datagrid.
Apenas o UPDATE que vai atualizar a quantidade de produtos na tabela PRODUTOS que esta atualizando somente a primeira linha de item do datagrid e os demais itens nao atualiza...
Apenas o UPDATE que vai atualizar a quantidade de produtos na tabela PRODUTOS que esta atualizando somente a primeira linha de item do datagrid e os demais itens nao atualiza...
DOUGLASBRAGA, o UP deve rodar dentro do Loop e não fora.
Tentei aqui varias formas, mas ainda nao consegui colocar o UPDATE dentro do loop do datagrid
Assim é pra funcionar.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim hora As String
Dim data As String
Dim cod As String
Dim codV As String
hora = Format(TimeOfDay, [Ô]hhmmss[Ô])
data = Format(Date.Today, [Ô]ddMMyy[Ô])
cod = TextCodigoV.Text
codV = (hora + cod + data)
[ô][ô][ô][ô](ONDE CADASTRO TODOS OS ITENS DO DATAGRID DA VENDA NO BANCO DE DADOS, FUNCIONANDO!)
For i = 0 To DgPedido.Rows.Count - 1
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]insert into VENDA(CODVENDA, CODPRODUTO, QUANTIDADE, VALOR, DESCRICAO, CODVENDEDOR, VENDEDOR, DATA) VALUES ([ô][Ô] & _
codV & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]codigo[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]QUANTIDADE[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]VALOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]DESCRICAO[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]CODVENDEDOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]VENDEDOR[Ô], i).Value & [Ô][ô],[ô][Ô] & _
DgPedido.Item([Ô]DATA[Ô], i).Value & [Ô][ô])[Ô], conecta.GetConexao2)
command.ExecuteNonQuery()
command.Dispose()
[ô][ô][ô][ô](ONDE ESTOU ATUALIZANDO A QUANTIDADE DE PRODUTOS NO BANCO DE DADOS)
Dim quant As Integer
quant = Val(DgPedido.CurrentRow.Cells([Ô]QUANTIDADE[Ô]).Value)
Dim up As New MySql.Data.MySqlClient.MySqlCommand([Ô]UPDATE PRODUTOS SET QUANTIDADE = QUANTIDADE - @quantidade where codigo=@Codigo[Ô], conecta.GetConexao2)
up.Parameters.AddWithValue([Ô]@quantidade[Ô], Val(quant))
up.Parameters.AddWithValue([Ô]@Codigo[Ô], Val(DgPedido.CurrentRow.Cells([Ô]CODIGO[Ô]).Value)
up.ExecuteNonQuery()
up.Dispose()
Next
Refresh()
conecta.Desconectar2()
MsgBox([Ô]Venda concluida com sucesso[Ô])
End Sub
Tópico encerrado , respostas não são mais permitidas