Como adicionar Params via código Delphi
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.
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
Curtidas 0
Respostas
Paulo
18/01/2008
Será isso?
SQLStoredProc1.Params[0].AsString := ´Teste´;
GOSTEI 0
Iniciante2007
18/01/2008
Deu erro aqui Paulo. Erro: List index out of bounds(0).
GOSTEI 0
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´;
SQLStoredProc1.Params[0].DataType := ftString;
SQLStoredProc1.Params[0].AsString := ´Teste´;
GOSTEI 0
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