Rotina em sql. Dúvida.

Delphi

21/08/2003

Como fazer uma rotina de baixa de estoque usando sql?
Eu em paradox fazia assim:

Itens.First;
while not (itens.eof) do begin
estoque.locate(´CODIGO´, ItensCodigo.AsString, []);
estoque.edit;
estoqueqde.asfloat:=estoqueqde.asfloat-itensqde.asfloat;
estoque.post;
itens.next
end;

Funciona muito bem, mas no IB não.
Só q com IB 6, dá o erro: Update Failed! E também não é
bom usar Locate Com IB. Como fazer em SQL?


Paulo

Paulo

Curtidas 0

Respostas

Nildo

Nildo

21/08/2003

estoque.sql.clear;
estoque.sql.add(´update ESTOQUE set qtd=qtd - ´ + itensqde.asString + ´ where CODIGO = ´+ ItensCodigo.asString);
Estoque.execSql;


t+


GOSTEI 0
Paulo

Paulo

21/08/2003

Nildo, eu fiz isso e dá o seguinte erro:Unknown Column PL
Eu fiz uns teste com um produto ficticio de codigo 125-PL. Dá erro no ExecSql. Vou tentar criar um código incremental e usá-lo para ver se o problema não é o código String. Qualquer coisa t posto outra msg.


GOSTEI 0
Allen74

Allen74

21/08/2003

Paulo, quer dizer que seu código é alfa numérico, certo?

Então altere o código do nildo assim:

estoque.sql.add(´update ESTOQUE set qtd=qtd - ´ + itensqde.asString + ´ where CODIGO = ´+ QuotedStr(ItensCodigo.asString));



GOSTEI 0
Mysys

Mysys

21/08/2003

crie uma TRIGGER de ajuste de estoque
e muito mais seguro


GOSTEI 0
Paulo

Paulo

21/08/2003

Como criar uma trigger de ajuste de estoque


GOSTEI 0
Mysys

Mysys

21/08/2003

Como criar uma trigger de ajuste de estoque


Cara eu nao me lembro qual o comando todo pra crear mas use o modo
grafico de algum gerenciados de InterBase e crie mais ou menos assim

ex: quando voce for inserir um valor na tabela de produto de nota fiscal

UPDATE TBL_ETQ SET QNTETQ = TBL_ETQ.QNTETQ - TBL_VND.QNTVND
WHERE TBL_ETQ.CODPRD = TBL_VND.CODPRD

faz o seguinte aqui no forum vai em pesquisar coloque a palavra trigger
que voce vai encontrar a sintax para criar trigger ai é so colocar o resto


GOSTEI 0
Paulo

Paulo

21/08/2003

Criar Trigger eu sei, o q tenho dúvida é fazer a chamada. No seu exemplo vc usou duas tabelas no mesmo Update. Será q vai assim?


GOSTEI 0
Paulo

Paulo

21/08/2003

o..


GOSTEI 0
Mysys

Mysys

21/08/2003

nao presisa chamar a trigger
uma vez criada no banco de dados toda vez que voce
inserir editar ou excluir arquivos da tabela onde voce colocou a trigger
ele dispara sosinho

talves voce tenha feito a trigger errado
criou ele certo porem nao dispara nada


GOSTEI 0
POSTAR