[firebase-br] OFF TOPIC - usar STORED PROCEDURE no DELPHI

Luiz Carlos lcarlos2000 em bol.com.br
Seg Jul 25 12:25:28 -03 2011


Valeu YANISLEY, seu codigo funcionou e o saldo finalmente apareceu.

Grato

Luiz Carlos

  ----- Original Message ----- 
  From: Yanisley Mora Ritchie 
  To: FireBase 
  Sent: Monday, July 25, 2011 11:29 AM
  Subject: Re: [firebase-br] OFF TOPIC - usar STORED PROCEDURE no DELPHI


  Para poder chamar um Procedure tem que usar um IBStoredProc, e os parâmetros
  de entrada tem que passa-los como Param, em teu caso seria algo mais ou
  menos assim,


  Begin

    IBSProc.StoredProcName := 'SP_SUMCONTAS';
    IBSProc.ParamByName('dataini').Value :=DIA1.Date ; //datetimerpicker
    IBSProc.ParamByName('datafin').Value :=DIA2.Date ; //datetimerpicker
    IBSProc.ExecProc;
    edsaldo.Text:= CurrtoStr(IBSProc.ParamByName('total').AsCurrency);
  End;

  Em 25 de julho de 2011 11:07, Luiz Carlos <lcarlos2000 em bol.com.br> escreveu:

  > Colega, criei a procedure da seguinte forma:
  >
  >
  > SET TERM ^ ;
  >
  > CREATE OR ALTER PROCEDURE SP_SUMCONTAS (
  >    dataini date,
  >    datafin date)
  > returns (
  >    total numeric(15,2))
  > as
  > begin
  >  for select sum(VL_RECEBER) - sum(VL_PAGAR) from contas
  >   where DT_VCTO between :dataini and :datafin
  >   into :total do
  >  begin
  >
  >  suspend;
  >  end
  > end^
  >
  > Depois no delphi coloquei o codigo abaixo em um BUTTON:
  >
  > Var
  > dataini: TDATE;
  > datafin: TDATE;
  >
  > Begin
  >
  > dataini := DIA1.Date ; //datetimerpicker
  > datafin := DIA2.Date ; //datetimepicker
  >
  > IBSQL1.SQL.Text := 'Select total from SP_SUMCONTAS';
  >
  > edsaldo.Text:= CurrtoStr(IBSQL1.ParamByName('total').AsCurrency);
  >
  > End;
  >
  > Porem qdo clico no button dá o seguinte erro:
  >
  > IMPUT PARAMETER MISMATCH FOR PROCEDURE SUMCONTAS
  >
  > O que estou fazendo de errado?
  >
  > Grato
  >
  > Luiz Carlos
  >
  >  ----- Original Message -----
  >  From: Tecnobyte Informática
  >  To: FireBase
  >  Sent: Saturday, July 23, 2011 9:42 PM
  >   Subject: Re: [firebase-br] OFF TOPIC - usar STORED PROCEDURE no DELPHI
  >
  >
  >  Boa noite
  >
  >  Eu uso Delphi 7 + IBX + Firebird 2.1 e uso IBSQL ou IBDataSet, dependendo
  > da
  >  necessidade e do tipo de procedure.
  >
  >  Exemplos:
  >
  >  - Para procedure selecionável:
  >
  >  IBSQL1.SQL.Text := 'SELECT * FROM SP_NomeProcedure(:Parametro1,
  > :Parametro2,
  >  ...)';
  >  IBSQL1.ParamByName('Parametro1').AsInteger := Valor;
  >  ...
  >
  >
  >  - Para procedure executável:
  >  IBSQL1.SQL.Text := 'EXECUTE PROCEDURE SP_NomeProcedure(:Parametro1,
  >  :Parametro2, ...)';
  >  IBSQL1.ParamByName('Parametro1').AsInteger := Valor;
  >  ...
  >
  >
  >  Atenciosamente.
  >
  >  Daniel P. Guimarães
  >  Tecnobyte Informática
  >  www.tecnobyte.com.br
  >
  >  -----Mensagem Original-----
  >  From: Luiz Carlos
  >  Sent: Saturday, July 23, 2011 6:28 PM
  >  To: FireBase
  >  Subject: [firebase-br] OFF TOPIC - usar STORED PROCEDURE no DELPHI
  >
  >  Olá,
  >
  >  Gostaria de saber como faço para chamar uma STORED PROCEDURE pelo DELPHI
  > 7?
  >
  >  Grato
  >
  >  Luiz Carlos
  >
  >
  >  ______________________________________________
  >  FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
  >  Para saber como gerenciar/excluir seu cadastro na lista, use:
  > http://www.firebase.com.br/fb/artigo.php?id=1107
  >  Para consultar mensagens antigas: http://firebase.com.br/pesquisa
  > ______________________________________________
  > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
  > Para saber como gerenciar/excluir seu cadastro na lista, use:
  > http://www.firebase.com.br/fb/artigo.php?id=1107
  > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
  >
  ______________________________________________
  FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
  Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
  Para consultar mensagens antigas: http://firebase.com.br/pesquisa


Mais detalhes sobre a lista de discussão lista