Em 2 camadas funciona, em 3 não !!!!
22/11/2005
0
É 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
Posts
22/11/2005
Titanius
[]s
22/11/2005
Mascotepc
22/11/2005
Titanius
22/11/2005
Mascotepc
22/11/2005
Titanius
[]s
Clique aqui para fazer login e interagir na Comunidade :)