Jump to content

chamada diadoacbr

Assista tectoy.png

Execute Block no delphi


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

Recommended Posts

  • Membros Pro

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;
 

Link to comment
Share on other sites

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;

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...
  • Consultores
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.
Link to comment
Share on other sites

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.