Felipe Machado Posted September 26, 2016 at 06:01 PM Report #599142 Posted September 26, 2016 at 06:01 PM Olha eu aqui novamente rsrs. Boa tarde, gostaria da ajuda de vocês. Vamos lá tenho 3 tabelas diferentes no meu BD Produtos, Retirada e Vendedoras, fiz uma query no mysql que utiliza insert+ select para inserir na tabela de Retirada o produtos que está na tabela Produtos, valor, preço e imagem do produto, e pegar o código da Vendedora, e fiz outra query de update para atualizar os valores de quantidade da tabela de Produtos, mas notei que quando o código de barra do produto é digitado incorretamente a quantidade em estoque atualiza do mesmo jeito, gostaria que vocês me ajudassem a atualizar a quantidade de preço somente quando o código de barra do produto estiver certo e for inserido na tabela de Retirada. Public Function gravar() If (CodigoBarra.Text = "") Then MsgBox("adicione valores no campo") Else 'função que inicia a conexão' connection() Try Dim datevalue As Date = Date.Now 'query em string' SQL = "INSERT INTO retirada (codvend,codigobarra,imgp,tipo,valor,diaretira) SELECT codvend,codigobarra,imgp,tipo,valor,current_date FROM produtos,vendedoras WHERE produtos.codigobarra= @codigobarra and vendedoras.codvend=@codvend" 'comando recebe a string e a conexão que ela vai entrar' cmd = New MySqlCommand(SQL, conn) 'paramentros para adicionar valores aos campos sqls descritos com @ cmd.Parameters.AddWithValue("@codigobarra", CodigoBarra.Text) cmd.Parameters.AddWithValue("@codvend", CInt(Recebecodigo.Text)) 'executa o comando' cmd.ExecuteNonQuery() cmd.Dispose() 'altera quantidade em estoque' Try 'sql update' Dim sqlupdate As String = "update produtos set quantidade = quantidade-1 where codigobarra = '" & CodigoBarra.Text & "'" 'executa o update com a string e a conexão' cmd = New MySqlCommand(sqlupdate, conn) 'executa o comando' cmd.ExecuteNonQuery() Catch ax As MySqlException MsgBox(ax) End Try Catch ex As MySqlException MsgBox(ex) End Try End If Return True End Function Agradeço desde Já.
RicardoCosta Posted September 27, 2016 at 09:03 AM Report #599162 Posted September 27, 2016 at 09:03 AM Dá uma olhada neste linkhttp://stackoverflow.com/questions/14252560/mysql-transaction-commit-and-rollback 1 Report
Felipe Machado Posted September 27, 2016 at 04:52 PM Author Report #599179 Posted September 27, 2016 at 04:52 PM Obrigado testarei o código aqui, vamos ver se dará certo.
Solution Felipe Machado Posted September 27, 2016 at 05:44 PM Author Solution Report #599180 Posted September 27, 2016 at 05:44 PM Perfeito funcionou certinho o código ficou assim If (CodigoBarra.Text = "") Then MsgBox("adicione valores no campo") Else ''função que inicia a conexão connection() Try sqlselecao = "select codigobarra from produtos where codigobarra = '" & CodigoBarra.Text & "';" cmd = New MySqlCommand(sqlselecao, conn) str = cmd.ExecuteScalar() Catch ex As Exception MsgBox(ex) End Try If (str <> Nothing) Then Try ''query em string sqlinser = "INSERT INTO retirada (codvend,codigobarra,imgp,tipo,valor,diaretira) SELECT codvend,codigobarra,imgp,tipo,valor,current_date FROM produtos,vendedoras WHERE produtos.codigobarra= @codigobarra and vendedoras.codvend=@codvend" 'comando recebe a string e a conexão que ela vai entrar' cmd = New MySqlCommand(sqlinser, conn) 'paramentros para adicionar valores aos campos sqls descritos com @' cmd.Parameters.AddWithValue("@codigobarra", CodigoBarra.Text) cmd.Parameters.AddWithValue("@codvend", CInt(Recebecodigo.Text)) 'executa o comando' cmd.ExecuteNonQuery() cmd.Dispose() 'altera quantidade em estoque' Try 'query update' Dim sqlupdate As String = "update produtos set quantidade = quantidade-1 where codigobarra = '" & CodigoBarra.Text & "'" 'executa o update com a string e a conexão' cmd = New MySqlCommand(sqlupdate, conn) 'executa o comando' cmd.ExecuteNonQuery() Catch ax As MySqlException MsgBox(ax) End Try Catch ex As MySqlException MsgBox(ex) End Try Else MsgBox("Código de Barras " & CodigoBarra.Text & " é invalido") End If End If obrigado pela ajuda. Tópico resolvido.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now