Salvar pdf no Firebird
ola galera, estou precisando de uma ajuda, uso delphi 7 componentes ibo com banco de dados Firebird...estou fazendo um sistema de cadastro de documentos no formato de Pdf, nao estou conseguindo salvar este tipo de arquivo no sistema, alguem pode me ajudar
Geliel Santos
Curtidas 0
Respostas
Leonardo Xavier
14/10/2010
Você não cogitou a hipótese de salvar o caminho do arquivo em seu banco de dados sem precisar salvar o documento inteiro?
GOSTEI 0
Geliel Santos
14/10/2010
Pensei nesta posibilidade mais coore muito risco de algum funcionario excluir ou ler os arquivos...
GOSTEI 0
Eriley Barbosa
14/10/2010
Gravar:
var
m : TQuery;
begin
m:=TQuery.Create(self);
m.DatabaseName:='Um\databasename\qualquer';
m.sql.add('UPDATE TABELA_TAL');
m.sql.add('SET campo_blob=:_nomearq');
m.sql.add('WHERE campo_chave =1');
try
m.ParamByName('_nomearq').LoadFromFile('C:\TEMP\TESTE.DOC',ftBlob);
m.ExecSQL;
except
on e:exception do
begin
ShowMessage(e.message);
end;
end;
end; Recuperar: var
BlobStream : TBlobStream;
FileStream : TFileStream;
m : Tquery;
begin
m:=TQuery.Create(self);
m.DatabaseName:='Um\databasename\qualquer';
m.sql.add('SELECT campo_chave, campo_blob');
m.sql.add('FROM TABELA_TAL');
m.sql.add('WHERE campo_chave =1');
// Salvando o arquivo em disco
try
m.Open;
BlobStream := TBlobStream.Create(m.Fieldbyname('campo_blob') as TBlobField, bmRead);
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;
m.Free;
end;
end;
m : TQuery;
begin
m:=TQuery.Create(self);
m.DatabaseName:='Um\databasename\qualquer';
m.sql.add('UPDATE TABELA_TAL');
m.sql.add('SET campo_blob=:_nomearq');
m.sql.add('WHERE campo_chave =1');
try
m.ParamByName('_nomearq').LoadFromFile('C:\TEMP\TESTE.DOC',ftBlob);
m.ExecSQL;
except
on e:exception do
begin
ShowMessage(e.message);
end;
end;
end; Recuperar: var
BlobStream : TBlobStream;
FileStream : TFileStream;
m : Tquery;
begin
m:=TQuery.Create(self);
m.DatabaseName:='Um\databasename\qualquer';
m.sql.add('SELECT campo_chave, campo_blob');
m.sql.add('FROM TABELA_TAL');
m.sql.add('WHERE campo_chave =1');
// Salvando o arquivo em disco
try
m.Open;
BlobStream := TBlobStream.Create(m.Fieldbyname('campo_blob') as TBlobField, bmRead);
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;
m.Free;
end;
end;
GOSTEI 0
Geliel Santos
14/10/2010
boa tarde ERILEY não entendi estar parte do codigo de recuperar
GOSTEI 0
Eriley Barbosa
14/10/2010
Recuperar é retirar o arquivo gravado no banco de dados para a máquina local.
GOSTEI 0
Geliel Santos
14/10/2010
certo, e para inserir o arquivo faço a mesma coisa como o de imagem.
GOSTEI 0
Eriley Barbosa
14/10/2010
Sim, isso mesmo.
GOSTEI 0
Geliel Santos
14/10/2010
vou tentar agora, dando certo ou errado posto aqui, muito obrigado
GOSTEI 0
Eder Rocha
14/10/2010
Blz Iriley?
To com o mesmo problema!!! Tem como fazer este procedimento de salvar arquivos em paradox tambem? Pode me ajudar?
Trabalho com documentos jurídicos, e preciso salvar os pdf's no banco para não perder.
Consegui várias dicas mas nenhuma foi eficiente.
Grato.
To com o mesmo problema!!! Tem como fazer este procedimento de salvar arquivos em paradox tambem? Pode me ajudar?
Trabalho com documentos jurídicos, e preciso salvar os pdf's no banco para não perder.
Consegui várias dicas mas nenhuma foi eficiente.
Grato.
GOSTEI 0
Eder Rocha
14/10/2010
preciso desse tipo de sistema, porém utilizando paradox,
Alguem sabe o código para salvar em paradox ou mysql?
Alguem sabe o código para salvar em paradox ou mysql?
GOSTEI 0