Fórum Como incluir um Arquivo em um Campo BLOB no Firebird? #324596
03/07/2006
0
tenho um campo BLOB no firebird 1.5, e um caminho em formato de string para um arquivo, como eu faço pra pegar este arquivo, e salvá-lo dentro deste campo BLOB? E depois, como faço pra pegar este arquivo, salvar em um local, e executá-lo?
Desde já agradeço
[]s
Titanius
Curtir tópico
+ 0Posts
04/07/2006
Titanius
Gostei + 0
04/07/2006
Cabelo
Existe bastante material disponível aqui no fórum sobre o assunto... antes de postar um novo tópico, tente sempre procurar primeiro... blz.
mas vamos lá...
é bem simples... vc primeiro precisa usar um clientdataset...
selecione o keyField + o campo Blob da table e abra normalmente..
crie os campos calculados no fieldseditor em Design Time
use os métodos loadfromfile e savetofile do campo do client
um abraço
Gostei + 0
04/07/2006
Thiago Vidal
A única coisa que funcionou comigo, foi esse ´CreateBlobStream´ do dataset.
Supondo que seu dataset se chame ´Query´, a string com o caminho para o arquivo se chame ´Arquivo´, e o campo blob ´Texto´.
var Arquivo: string; bs: TStream; fs: TMemoryStream; begin Query.Edit; fs := TMemoryStream.Create; bs := Query.CreateBlobStream(Query.FieldByName(´Texto´), bmWrite); try fs.LoadFromFile(Arquivo); fs.SaveToStream(bs); finally Query.Post; bs.Free; fs.Free; end; end;
Gostei + 0
04/07/2006
Cabelo
O Stream é utilizado somente para carregar um arquivo texto para um memo por exemplo... ou um arquivo de imagem para um TImage..
mas manipulação de arquivos propriamente dito deve ser feito através dos métodos
LoadFromFile..
e
SaveToFile..
e no fórum tem muita coisa boa.. tenho aqui muitos programas feitos a partir de dicas daqui do fórum...
claro que nem sempre existe aquilo que precisamos... mas é só pesquisar e juntar as coisas...
um abraço..
Gostei + 0
04/07/2006
Titanius
[]s
Gostei + 0
04/07/2006
Cabelo
vc está utilizando assim???
campoblobdoclientdataset.loadfromfile(caminho);
campoblobdoclientdataset.savetofile(caminho);
não tem muito segredo...
o uso do TStream é aconselhável para o uso de campos blob do tipo texto ou imagem... eu aconselho o restante dos arquivos, .EXE, .DOC, .PDF, etc... vc utilizar esses métodos...
o TStream aqui por exemplo deu um bug, alterando o arquivo .DOC.. ele simplesmente absteve o cabeçalho e o rodapé...
eu usei o loadfromfile e savetofile direto dos campos do client e funcionou perfeitamente..
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)