Executar SP em modelo Multicamadas

Delphi

05/07/2005

Eaí galera...

Seguinte: Estou desenvolvendo uma aplicação em 3 camadas, e preciso saber como faço para executar uma StoredProcedure através de uma aplicação cliente. A stored procedure está no servidor de aplicação. Estou usando dbexpress + Firebird.

Se alguém puder me ajudar, ficarei muito grato.

Marcelo


Tchelllo

Tchelllo

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

05/07/2005

como solução mais rápida, crie um método no servidor com os parêmetros necessários e faça esse método disparar a stored procedure. na sua aplicação cliente vc chama o método.


GOSTEI 0
Tchelllo

Tchelllo

05/07/2005

Obrigado pela atenção emerson.en, mas minha SP retorna parâmetros. Como faço para retorná-los para a aplicação cliente ?


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

05/07/2005

retorna parâmetros ou retorna um resultset? se retornar parâmetros simples, faça como em qualquer outro método. se for um resultset, devolva para o cliente como um OleVariant.


GOSTEI 0
Tchelllo

Tchelllo

05/07/2005

são parâmetros mesmo, mas são vários. Nesse caso, como faço?...tentei criar um record e retornar os parâmetros à ele, mas no cliente não consegui acessá-los, e se for por OleVariant, tem como receber vários parâmetros ?


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

05/07/2005

sim. vc cria o record da maneira usual.

type
TRetornoDaFuncao = record
{...}
end;

mas sua função DEVE retornar um OleVariant.

o resultado da sua função será algo como:
var
Retorno: TRetornoDaFuncao;

{abre a sp e pega o valores}
Retorno.X := ....;
Retorno.Y := ....;

{devolve os valores para quem chamou o método}
Result := RecordQueVcCriou;


na sua aplicação cliente, vc cria uma variável do mesmo tipo daquela:
var
Resultado: TRetornoDafuncao;


Resultado := conexao.appserver.seumetodo(bla,bla,bla);


GOSTEI 0
POSTAR