Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JOSE MARIA

Estoque so atualiza quando fecho o sistema...

Recommended Posts

boa tarde pessoal, criei 2 triggers uma para diminuir a qtd apos venda e outra para aumentar a qtd apos deletar uma venda...fiz os testes, e so esta dando baixa no estoque quando eu fecho o sistema..."assim nao da, assim nao tem jeito"..alguem pode me ajudar a resolver...segue abaixo as triggers(direto no bd): uso o delphi/mysql

 

create trigger AtualizaEstoqueVenda after
insert on itens2(esta é a tabela onde o usuario digita o codprod e as qtd(itens de vendas))
for each row
update produtos p
set estoque = estoque - new.quantidade
where p.codprod = new.codprod;

create trigger Atualiza_Estoque_Devolucao after delete on
itens2
for each row
update produtos p
set estoque = estoque + old.quantidade
where p.codprod = old.codprod;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei qual o componente de conexão que você está utilizando, mas você está enviando para o banco os dados (applyupdate).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei qual o componente de conexão que você está utilizando, mas você está enviando para o banco os dados (applyupdate).

 

o componente que uso é adoconection/adoquery...está baixando o estoque certinho, porem preciso criar um update para atualizar o estoque direto quando concluir a venda ou compra..ok aguardo retorno...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu conheço de banco, o não disparo dos triggers é porque não foi enviado comando para o banco. Após gravar você tem que efetuar o applyupdate senão os comando somente serão enviados para o banco quando a aplicação terminar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você der somente um post, não é gerado os comandos sql para envio ao banco, o commit é necessário para efetivar a gravação da alteração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você der somente um post, não é gerado os comandos sql para envio ao banco, o commit é necessário para efetivar a gravação da alteração.

 

Ola...sera que criar uma trigger para atualizar a tabela produtos nao resolveria, ja que o adoquery nao aceita apply update? estranho é que quando vou pesquisar produtos pelo form de pesquisa q fiz dentro do dbgrid, os produtos vendidos ja aparecem atualizados no form de pesquisa, mas na tabela produtos so depois que fecho o sistema...

 

aguardo a ajuda..desde ja agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você der somente um post, não é gerado os comandos sql para envio ao banco, o commit é necessário para efetivar a gravação da alteração.

 

Ola...sera que criar uma trigger para atualizar a tabela produtos nao resolveria, ja que o adoquery nao aceita apply update? estranho é que quando vou pesquisar produtos pelo form de pesquisa q fiz dentro do dbgrid, os produtos vendidos ja aparecem atualizados no form de pesquisa, mas na tabela produtos so depois que fecho o sistema...

 

aguardo a ajuda..desde ja agradeço...

 

Isso acontece porque a lista de dados que você está mantendo na query não foi notificada dessa alteração, para acontecer a notificação você tem que fechar e abrir a query novamente, ou dar refresh.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.