Recuperando um arquivo de um camp BLOB

Delphi

14/02/2005

Olá pessoal,

estou desenvolvendo um sistema onde tenho de manipular campos Blob do sub tipo 1 (texto). A inserção da informação já foi feita, agora estou tendo diciculdades para recuperar o arquivo do campo, estou usando o seguinte código para realizar a recuperação:

var
BlobStream : TBlobStream;
FileStream : TFileStream;
begin
// Salvando o arquivo em disco
try
ClientDataSet.open;
BlobStream := TBlobStream.Create(ClientDataSet.Fieldbyname(´campo_blob´) as TBlobField, bmRead); //AQUI ACONTECE O ERRO
FileStream := TFileStream.Create(´C:\TEMP\MEU_DOC.DOC´, fmCreate or fmOpenWrite);
FileStream.CopyFrom(BlobStream, 0);
ShowMessage(´Documento salvo em disco. Clique em [OK] para prosseguir ...´);
finally
// Liberando memoria
FileStream.Free;
BlobStream.Free;
end;

quando da o erro fala que o type cast não foi possível...

Se alguém souber outra maneira também pode falar!!

Desde já agradeço a atenção...


Jsaraujo

Jsaraujo

Curtidas 0

Respostas

Ipc$

Ipc$

14/02/2005

Olá, tente assim:
var MS:TMemoryStream;
begin
MS := TMemoryStream.Create;
TBlobField(ClientDataSet.Fieldbyname(´campo_blob´)).SaveToStream(MS);
...
...
MS.Free;
end;


GOSTEI 0
Jsaraujo

Jsaraujo

14/02/2005

Valeu amigo, sua dica funcionou belezinha!!!!!


GOSTEI 0
POSTAR