Mejor respuesta santiago14 , 17 enero 2017 - 01:42
Bueno, después de mucho probar y fracasar pude hacer funcionar. Jajaja, me salió verso...
Bueno, ahí va:
function TDataModule1.recupero_Valor_Entorno(cod_sucursal:integer; nombre_Entorno:string):TStream; begin with DataModule1.spValorEntorno do begin Close; Params.Clear; StoredProcName:='RECUPERO_VALOR_ENTORNO '; //nombre del store procedure Params.CreateParam(ftInteger, 'COD_SUCURSAL', ptInput); //creamos el parametro de entrada Params.CreateParam(ftWideString, 'NOMBRE_ENTORNO', ptInput); //creamos el parametro de entrada //Params.CreateParam(ftWideString, 'VALOR', ptOutput); //creamos el parametro de salida Params.CreateParam(ftBlob, 'VALOR', ptOutput); //creamos el parametro de salida ParamByName('COD_SUCURSAL').AsInteger:=cod_sucursal; ParamByName('NOMBRE_ENTORNO').AsString:=nombre_entorno ; //le asignamos al param. entrada su valor Prepare; //hacemos que se "arme" el objeto SP try OpenOrExecute; if FieldByName('VALOR') is TBlobField then begin Result:=CreateBlobStream(spValorEntorno.FieldByName('VALOR'), bmRead); end; unPrepare; except on exception do begin UnPrepare; raise; end; end; //del try end; end;
Mil gracias por todos los aportes, sirvieron de mucho. Este Procedure tiene la capacidad de devolver un Stream, que luego lo transformo convenientemente en lo que yo quiera.
Gracias de nuevo.
Ir al mensaje completo