Fórum Procedure para baixar estoque #53312
12/10/2005
0
Fiz uma procedure simples, para baixa de estoque(teste), com tres parametros somente. qde, qde_saida e cod. Após a declaração da procedure fiz: update tabela set qde =:qde-qde_saida where cod =:cod(no escopo da sp). Na chamada no form, a dúvida é o parametro qde, pois ele vem diretamente da tabela em questão. Como no meu datamodule so tenho SqlStoredProc e algumas SqlQuery, mas somente para consulta, pergunto: Como passar o parametro qde, pois ele vem de dentro da tabela?(É o próprio campo).
Por exemplo: qde_saida = edSaida.AsFloat, cod = editCod.text e qde? Ele é o próprio campo, como não tenho querys e nem tabelas, samente SP, como fazer? Se tivesse tabela ou query, faria qde:=tabelaqde.value e pronto, mas não é possível. Pensei na declaração da procedure, mas como fazer?(no escopo da procedure). Grato!!! Uso DBExpress e Delphi 7 com FB 1.5
Por exemplo: qde_saida = edSaida.AsFloat, cod = editCod.text e qde? Ele é o próprio campo, como não tenho querys e nem tabelas, samente SP, como fazer? Se tivesse tabela ou query, faria qde:=tabelaqde.value e pronto, mas não é possível. Pensei na declaração da procedure, mas como fazer?(no escopo da procedure). Grato!!! Uso DBExpress e Delphi 7 com FB 1.5
Paulo
Curtir tópico
+ 0
Responder
Posts
13/10/2005
Afarias
|Na chamada no form, a dúvida é o parametro qde, pois ele vem
|diretamente da tabela em questão
extamente, esse parâmetro não deve existir. O update deveria ser:
update tabela set qde = qde - :qde_saida where cod = :cod
apenas com os parâmentros :qtde_saida e :cod
T+
|diretamente da tabela em questão
extamente, esse parâmetro não deve existir. O update deveria ser:
update tabela set qde = qde - :qde_saida where cod = :cod
apenas com os parâmentros :qtde_saida e :cod
T+
Responder
Gostei + 0
14/10/2005
Paulo
Fiz dessa forma conforme o Afarias me passou mas não atualiza nada, aliás, minhas procedures não atualizam, pq será? Elas são feitas +- assim:
Eu coloco um campo OP, pois na mesma procedure eu trabalho com INSERT, UPDATE E DELETE, depende do OP. No Insert OK, mas no Update, nada. Ainda não testei o delete.
create procedure teste(op char(1),cod integer, nome varchar(35)) a begin
if op = ´A´ then begin
update tabela set nome =:nome where codnome =:cod;
end
end
Eu coloco um campo OP, pois na mesma procedure eu trabalho com INSERT, UPDATE E DELETE, depende do OP. No Insert OK, mas no Update, nada. Ainda não testei o delete.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)