Como adicionar Params via código Delphi

Delphi

18/01/2008

Olá,

Caros, estou com dificuldade para realizar um operação no Delphi. É o seguinte: Estou desenvolvendo um sistema utilizando firebird/oracle com os componentes dbExpress. E eu estou utilizando muitos procedimentos e funções no banco. Estou evitando aso máximo em colocar comandos SQL no código do Delphi. Pois bem, como eu estou utilizando esses procedimentos/funções do banco estou pensando em adicionar no DataModule apenas um componente SQLStoredProc( para não adicionar dezenas desse componente para cada função/procedimento que eu tenha). E na medida que eu precisar chamar/executar um determinado procedimento/função eu apenas irei mudar a propriedade StoredProcName. Até ai tudo bem basta fazer SQLStoredProc.StoredProcName := ´NOME_PROCEDURE´; Mas e com relação aos parametros de entrada e de retorno? Como é que eu adiciono isso via código Delphi? Por que quando eu executo o programa dá erro do tipo: NOME_PARAMETRO_DA_PROCEDURE NOT FOUND.

Agora se eu setar no datamodule a procedure o programa rodar normalmente. Então como faço para adicionar os paramentos via Delphi. Eu já tentei fazer algo do tipo: ParamByName(´NOM_PARAMETRO´).TIPO := VALOR EM DETERMINADO CAMPO.

Estou pensado em algo com adicioanr em Params mas como faço isso.

Alguém tem alguma idéia de como fazer e me ajudar.

Até mais.


Iniciante2007

Iniciante2007

Curtidas 0

Respostas

Paulo

Paulo

18/01/2008

Será isso?

SQLStoredProc1.Params[0].AsString := ´Teste´;



GOSTEI 0
Iniciante2007

Iniciante2007

18/01/2008

Deu erro aqui Paulo. Erro: List index out of bounds(0).


GOSTEI 0
Flyskin

Flyskin

18/01/2008

acredito que da forma que o colega colocou deva funcionar senão experimenta utilizar da seguinte forma:

SQLStoredProc1.Params[0].DataType := ftString;
SQLStoredProc1.Params[0].AsString := ´Teste´;


GOSTEI 0
Pestana_

Pestana_

18/01/2008

Olá, Caros, estou com dificuldade para realizar um operação no Delphi. É o seguinte: Estou desenvolvendo um sistema utilizando firebird/oracle com os componentes dbExpress. E eu estou utilizando muitos procedimentos e funções no banco. Estou evitando aso máximo em colocar comandos SQL no código do Delphi. Pois bem, como eu estou utilizando esses procedimentos/funções do banco estou pensando em adicionar no DataModule apenas um componente SQLStoredProc( para não adicionar dezenas desse componente para cada função/procedimento que eu tenha). E na medida que eu precisar chamar/executar um determinado procedimento/função eu apenas irei mudar a propriedade StoredProcName. Até ai tudo bem basta fazer SQLStoredProc.StoredProcName := ´NOME_PROCEDURE´; Mas e com relação aos parametros de entrada e de retorno? Como é que eu adiciono isso via código Delphi? Por que quando eu executo o programa dá erro do tipo: NOME_PARAMETRO_DA_PROCEDURE NOT FOUND. Agora se eu setar no datamodule a procedure o programa rodar normalmente. Então como faço para adicionar os paramentos via Delphi. Eu já tentei fazer algo do tipo: ParamByName(´NOM_PARAMETRO´).TIPO := VALOR EM DETERMINADO CAMPO. Estou pensado em algo com adicioanr em Params mas como faço isso. Alguém tem alguma idéia de como fazer e me ajudar. Até mais.


deve ser + / - isso:

DM.sproc.Close;
DM.sproc.StoredProcName := nomeProc;
DM.sproc.Prepare;
DM.sproc.Params[0].Value := valor;
DM.sproc.ExecProc;


flw.


GOSTEI 0
POSTAR