Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1274 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Bom dia! Eu ainda não consegui entender como coloco um parâmetro em uma query no delphi para executar o comando:
Gostaria de passar a data para executar o comando. Obg.

Execute Block (dtvencto timestamp = ?data)
as
begin
    Update Titulo_Receber Set   vlr_multa = Case When dt_vencto < Cast(:dtvencto as date) Then (vlr_nominal - Coalesce(vlr_desc,0)) * (Select First 1 coalesce(l.pct_multa,0) From Loja l Where Titulo_Receber.cd_emp = l.cd_emp and Titulo_Receber.cd_loja = l.cd_loja)/100 Else 0 End,
                                pct_juros = (Select first 1 l.pct_juros_mes From Loja l Where Titulo_Receber.cd_emp = l.cd_emp and Titulo_Receber.cd_loja = l.cd_loja),
                                vlr_juros = (vlr_nominal - Coalesce(vlr_desc,0)) * ((((Select First 1 l.pct_juros_mes From Loja l Where Titulo_Receber.cd_emp = l.cd_emp and Titulo_Receber.cd_loja = l.cd_loja)/30)/100) * (Cast(:dtvencto as date) - Cast(dt_vencto as date)))
    Where   cd_emp > 0
    and     cd_loja > 0
    and     status = 'A'
    and     dt_vencto <= Cast(:dtvencto as date)
    and     dt_vencto <= cast(current_timestamp as date);
    
    Update Titulo_Receber Set   vlr_saldo = vlr_nominal - Coalesce(vlr_pago,0) - Coalesce(vlr_desc,0) + Coalesce(vlr_multa,0) + Coalesce(vlr_juros,0)
    Where   cd_emp > 0
    and     cd_loja > 0
    and     status = 'A'
    and     dt_vencto <= Cast(:dtvencto as date)
    and     dt_vencto <= cast(current_timestamp as date);

end;
 

Postado
1 hora atrás, Rodrigo Cunha disse:

Execute Block (dtvencto timestamp = ?data)

dbexpress não sei mas com firedac usa assim:

Execute Block (dtvencto timestamp = :data)
update tabela set campo=:dtvencto
...


fdquery.ParamByName('data').AsDateTime := Now;
fdquery.ExecSQL;

no zeosdbo usa assim:
Execute Block (dtvencto timestamp = &data)
update tabela set campo=:dtvencto
...

ZQuery1.ParamChar:='&';
ZQuery1.ParamCheck:=False;
ZQuery1.ParamByName('data').AsDateTime := Now;
ZQuery1.ExecSQL;

  • Curtir 2
  • Obrigado 1
  • 4 semanas depois ...
  • Consultores
Postado
Em 07/05/2021 at 07:55, Rodrigo Cunha disse:

entender como coloco um parâmetro em uma query

Em 07/05/2021 at 08:45, Rodrigo Cunha disse:

Eu estou usando delphi 7 com dbexpress. Pode ser isso? tem alguma forma?

Até onde me lembro, você só precisa usar componente de script e não query. Daí é fazer como citado pelo @datilas acima

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 1274 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.