Fórum Executar SP em modelo Multicamadas #287043

05/07/2005

0

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

Responder

Posts

06/07/2005

Emerson Nascimento

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.


Responder

Gostei + 0

06/07/2005

Tchelllo

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


Responder

Gostei + 0

06/07/2005

Emerson Nascimento

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.


Responder

Gostei + 0

06/07/2005

Tchelllo

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 ?


Responder

Gostei + 0

06/07/2005

Emerson Nascimento

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);


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar