Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Problema al intentar guardar imagen (https://www.clubdelphi.com/foros/showthread.php?t=52111)

totote 10-01-2008 20:35:37

Problema al intentar guardar imagen
 
Buenas gente, buscando y buscando encontre como almacenar imagenes en una tabla de firebird, pero está hecho con componentes de interbase, yo intente hacerlo con componentes de de dbExpress y no resulta, lo hago tal cual pero no hay caso, en memoria parece estar bien pero despues no me lo guarda en la base de datos

Acá va el código, espero que me puedan ayudar
Código Delphi [-]
procedure TfCargarFoto.btCargarClick(Sender: TObject);
var
  m, f: TStream;
  s: string;
begin
if opdFoto.Execute then
begin
  //modo edición
  dm.cdsImagenes.Edit;
  //stream a partir campo Blob que contendrá la imagen
  m:= dm.cdsImagenes.CreateBlobStream(dm.cdsImagenes.FieldByName('imagen'), bmWrite);
  //stream para acceder al archivo gráfico
  f:= TFileStream.Create(OPDFoto.filename, fmOpenRead);
  //copiar de un stream a otro
  m.CopyFrom(f, f.Size);
  //coger formato foto y ponerlo en campo correspondiente
  s:= AnsiUpperCase(ExtractFileExt(opdFoto.FileName));
  if s='.JPEG' then
    s:= '.JPG';
  dm.cdsImagenes.Fields[2].AsString:= Copy(s,2,3);
  dm.cdsImagenes.Post;
  dm.cdsImagenes.ApplyUpdates(0);
  //destruir streams
  f.Free;
  m.Free;
end;
end;

Saludos

Delfino 13-01-2008 12:02:57

Para guardar imagenes de todo tipo en Firebird utilizo el componente TJvDBImage de la JVCL y asignar al campo su propiedad Picture, no hace falta todo este codigo, ah y lo hace muy bien..

Paoti 15-01-2008 19:01:25

gracias delfino.


sierpe lo habia hecho a la antigüa.


saludos. viejo


La franja horaria es GMT +2. Ahora son las 00:54:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi