Em 2 camadas funciona, em 3 não !!!!

22/11/2005

0

O meu problema é pegar o retorno de um Stored Procedure que possui parametros de entrada e saída.

É o sequinte, minha aplicação é em três camadas, então não acesso o
componente SQLStoredProc diretamente, acesso ele através de um
CLientDataSet que acessa o DataSetProvider que por sua vez acesso o
SQLStoredProc.

Executo dessa maneira :

procedure TCAQ_FUNC001.bbtCalcular2Click(Sender: TObject);
var v_result : String;
begin
try
with dmCAQ2.cdsCAQfuncTeste do
begin
Close;
//Primeiro : atribuimos os valores ao parametro
dmCAQ2.cdsCAQfuncTeste.Params[0].Value := edtTexto.Text;
//Segundo: Solicitamos a abertura do ClienteDataSet
Open;
v_result := dmCAQ2.cdsCAQFuncTeste.Params[1].AsString;
end;
edtResultTexto.Text := v_result;
except
showMessage(´Problemas com o calculo da analise !´);
end;
end;


No Open do ClientDataSet da o sequinte erro : ´dbExpress Error : Invalid Parameter´

Quando testo em 2 camadas executando diretamene o componente
SQLStoredProc funciona.

Executo dessa maneira em 2 camdas :

procedure TForm1.Button1Click(Sender: TObject);
begin
try
with stpTeste do
begin
Params[0].AsString := edit1.Text;
ExecProc;
edit2.Text := Params[1].AsString;
end;
except
showMessage(´Erro´);
end;
end;

A Stored no Oracle está assim
CREATE PROCEDURE teste (v_texto IN VARCHAR2,
v_result_txt OUT VARCHAR2) AS
BEGIN
v_result_txt := ´Retorno: ´ || v_texto;
END;

Será que não consigo pegar o retorno via ClienteDataSet em 3 camadas ?


Mascotepc

Mascotepc

Responder

Posts

22/11/2005

Titanius

Já tentou dar um Fetch Params? e marcar o parametro como OutPut?


[]s


Responder

22/11/2005

Mascotepc

Fetch Params sim, agora quanto Marca como output, vc fala no próprio ClientDataSet ? Se for ja está como OutPut sim.


Responder

22/11/2005

Titanius

Verifica no CDS e la no Server tbm... se os dois estao como output.... aki comigo funciona assim...


Responder

22/11/2005

Mascotepc

Tanto no CDS do Cliente como no SQLStoredProc do servidor estão como OutPut ! Vc utiliza 3 Camdas ?


Responder

22/11/2005

Titanius

Pra falar a verdade eu já usei, porém quando meu projeto estava pronto começou dar muito problema, e não conseguia solucionar, pois não se acha documentacao farta na net... por este motivo agora faço 3 camadas usando Asta.. os problemas que eu tinha nao tenho mais... :D


[]s


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar