Gravar Imagem no Firebird
Pessoal estou com esta dúvida e preciso resolver com certa urgência tanto que postei a mesma mensagem no Forum de Delphi e interbase assim quem sabe vem mais rápido a resposta
Tenho o código abaixo para gravar a imagem só que esta apresentando a mensagem de erro citada em Letra azul, na linha que esta em vermelho
já coloquei a unit JPEG na Uses
[color=darkblue:e0510cd779]Not enough actual parameters [/color:e0510cd779]
procedure TFrmCadProduto.Button1Click(Sender: TObject);
var
Stm: TStream;
begin
Stm := TMemoryStream.Create;
try
(ImagemProduto.Picture.Graphic as TJpegImage).SaveToStream(Stm);
Stm.Position := 0;
with Dmprincipal.qry_Produto do
try
SQL.Text := ´INSERT INTO Produto (Str_CodigoProduto, Mem_ImagemProduto) VALUES (:Str_CodigoProduto, :Mem_ImagemProduto)´;
//Transaction.StartTransaction;
ParamByName(´Str_CodigoProduto´).Asstring := ´1111´;
[color=red:e0510cd779]ParamByName(´Mem_ImagemProduto´).LoadFromStream(Stm); [/color:e0510cd779]
ExecSql;
finally
DmPrincipal.transacao.CommitRetaining;
end;
finally
Stm.Free;
end;
end;
Tenho o código abaixo para gravar a imagem só que esta apresentando a mensagem de erro citada em Letra azul, na linha que esta em vermelho
já coloquei a unit JPEG na Uses
[color=darkblue:e0510cd779]Not enough actual parameters [/color:e0510cd779]
procedure TFrmCadProduto.Button1Click(Sender: TObject);
var
Stm: TStream;
begin
Stm := TMemoryStream.Create;
try
(ImagemProduto.Picture.Graphic as TJpegImage).SaveToStream(Stm);
Stm.Position := 0;
with Dmprincipal.qry_Produto do
try
SQL.Text := ´INSERT INTO Produto (Str_CodigoProduto, Mem_ImagemProduto) VALUES (:Str_CodigoProduto, :Mem_ImagemProduto)´;
//Transaction.StartTransaction;
ParamByName(´Str_CodigoProduto´).Asstring := ´1111´;
[color=red:e0510cd779]ParamByName(´Mem_ImagemProduto´).LoadFromStream(Stm); [/color:e0510cd779]
ExecSql;
finally
DmPrincipal.transacao.CommitRetaining;
end;
finally
Stm.Free;
end;
end;
Ari
Curtidas 0
Respostas
Vinicius2k
25/01/2004
ari,
só faltou um detalhe : determinar o tipo de Blob...
o métdo LoadFromStream do TParam tem um parâmetro a mais... o BlobType :
veja a tabela de tipos :
espero ter ajudado...
só faltou um detalhe : determinar o tipo de Blob...
o métdo LoadFromStream do TParam tem um parâmetro a mais... o BlobType :
procedure LoadFromStream(Stream: TStream; BlobType:TBlobType;
veja a tabela de tipos :
Indicates the type of a BLOB field.
Unit
DB
type TBlobType = ftBlob..ftOraClob;
Description
TBlobType represents a range of TFieldType values. These are the values of in that range:
ValueDescription
ftBlob : Binary Large Object field
ftMemo : Text memo field
ftGraphic :Bitmap field
ftFmtMemoFormatted: text memo field
ftParadoxOle : Paradox OLE field
ftDBaseOle : dBASE OLE field
ftTypedBinary: Typed binary field
ftCursor: Not a valid blob type, don’t use.
ftFixedChar : Not a valid blob type, don’t use.
ftWideString : Not a valid blob type, don’t use.
ftLargeInt: Not a valid blob type, don’t use.
ftADT: Not a valid blob type, don’t use.
ftArray: Not a valid blob type, don’t use.
ftReference : Not a valid blob type, don’t use.
ftDataSet : Not a valid blob type, don’t use.
ftOraBlob : BLOB fields in Oracle 8 tables
ftOraClob : CLOB fields in Oracle 8 tables
espero ter ajudado...
GOSTEI 0