Como incluir um Arquivo em um Campo BLOB no Firebird?
Olá,
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
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
Curtidas 0
Respostas
Titanius
03/07/2006
Sobe...
GOSTEI 0
Cabelo
03/07/2006
Colega...
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
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
Thiago Vidal
03/07/2006
Cara, vou te ajudar pq ja procurei por isso aqui no forum, e nenhuma das dicas encontradas aqui funcionou.
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´.
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
Cabelo
03/07/2006
Colega...
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..
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
Titanius
03/07/2006
Amigo, aqui não funcionou.. estou usando ClientDataSet.... será que é isso!?
[]s
[]s
GOSTEI 0
Cabelo
03/07/2006
Qual o erro ????
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..
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