[firebase-br] JPeg em um blob
marcelo - teflamar
marcelo em teflamar.com.br
Qua Ago 3 11:13:34 -03 2005
o exemplo do site não funcionou, mas esses exemplos abaixo são garantidos,
delphi 7
unit blob1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, IBDatabase, IBCustomDataSet, IBQuery, Grids,
DBGrids, OleCtnrs,
dbtables,
jpeg, ExtCtrls;
//***********************************************
procedure TForm1.btgravar1Click(Sender: TObject);
begin
t.StartTransaction;
q.sql.text:='INSERT INTO TESTE (COD,NOME,NOME_ARQ,BLOB1) VALUES
(0,:NOME,:NOME_ARQ,:BLOB1)';
try
q.parambyname('NOME').asstring:='Teste '+datetostr(now);
q.parambyname('NOME_ARQ').asstring:=edit1.text;
q.ParamByName('BLOB1').LoadFromFile(edit1.text,ftBlob);
q.ExecSQL;
t.Commit;
except
on e:exception do
begin
ShowMessage(e.message);
end;
end;
end;
procedure TForm1.btrecuperarClick(Sender: TObject);
var
warquivo :string;
BlobStream : TStream;
FileStream : TFileStream;
begin
filestream:=nil;
blobstream:=nil;
warquivo:='c:\temp\'+q2.fieldbyname('nome_arq').asstring;
try
BlobStream := q2.CreateBlobStream(q2.FieldByName('blob1'),bmRead);
FileStream := TFileStream.Create(warquivo, fmCreate or fmOpenWrite);
FileStream.CopyFrom(BlobStream, 0);
finally
// Liberando instâncias
blobstream.free;
filestream.Free;
execfile(warquivo);
end;
end;
Mais detalhes sobre a lista de discussão lista