Ver Mensaje Individual
  #3  
Antiguo 17-01-2014
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 585
Reputación: 23
santiago14 Va por buen camino
Question

Trabajando un poco con el enlace que me diste, hice lo siguiente:
Código Delphi [-]
function recupero_Valor_Entorno_EBD(nombre_Entorno:string):TStream; 
var   
//resultado:TBlobField;   
stream:TMemoryStream; 
begin
   with DataModule1.spValorEntornoEBD do
   begin
     Close;
     Params.Clear;
     StoredProcName:='RECUPERO_VALOR_ENTORNO_EBD ';  //nombre del store procedure
     Params.CreateParam(ftWideString, 'NOMBRE_ENTORNO', ptInput); //creamos el parametro de entrada
     Params.CreateParam(ftBlob, 'VALOR', ptOutput);   //Valor que recibimos
     ParamByName('NOMBRE_ENTORNO').AsString:=nombre_entorno ;  //le asignamos al param. entrada, su valor
     Prepare; //hacemos que se "arme" el objeto SP
     try
       ExecProc;
       stream:=TMemoryStream.Create;
    //Aquí hice el reemplazo de líneas de código.
      //stream:=StringToStream(ParamByName('VALOR').AsBlob);
      TBlobField(FieldByName('valor')).SaveToSream(stream);
      unPrepare;
       Result:=stream;
       //stream.Free;
     except
       UnPrepare;
       //stream.Free;
       raise;
     end; //del try
   end;
 end;

Al ejecutar, me sale el siguiente cartel:
"Imposible recuperar datos...
Mensaje: spValorEntornoEBD: Field 'valor' not found"

El error ocurre cuando lee la línea:
Código Delphi [-]
TBlobField(FieldByName('valor')).SaveToSream(stream);

Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.

Última edición por santiago14 fecha: 17-01-2014 a las 20:07:05. Razón: Ahora quedó mejor.
Responder Con Cita