Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-04-2007
edus1984 edus1984 is offline
Registrado
 
Registrado: abr 2007
Posts: 3
Poder: 0
edus1984 Va por buen camino
Imagen JPG en una base de datos Access

Hola a todos, esta es la primera vez que entro al foro. Quería preguntar si alguien me puede ayudar con esto:

Estoy tratando de mostrar una imagen jpg almacenada como objeto OLE en una bd Access, y me da este número de error: JPEG error #68.

Lo que hago para mostrar la imagen es utilizar un objeto TImage, asignándole un objeto TJpegImage, a partir de un flujo de un campo de una tabla (que contiene la imagen). Todo esto se hace cuando se presiona un boton. Les paso el código del botón:

Código:
procedure TForm1.botonClick(Sender: TObject);
var
  flu  : TADOBlobStream;
  Pic : TJpegImage;
begin
  flu := TADOBlobStream.Create
        (AdoTable1Foto, bmRead);
  try
    flu.Seek(JpegStartsInBlob(AdoTable1Foto),
            soFromBeginning); //Esta función busca el inicio de la imagen
    Pic:=TJpegImage.Create;
    try
     Pic.LoadFromStream(flu); //Es aquí donde da el error
     ADOImage.Picture.Graphic:=Pic;
    finally
     Pic.Free;
    end;
  finally
    flu.Free
  end;
end;
También les paso el código de la función de búsqueda:

Código:
function JpegStartsInBlob
         (PicField:TBlobField):integer;
var
 flu     : TADOBlobStream;
 buffer : Word;
 hx     : string;
begin
 Result := -1;
 flu := TADOBlobStream.Create(PicField, bmRead);
 try
  while (Result = -1) and
        (flu.Position + 1 < flu.Size) do
  begin
   flu.ReadBuffer(buffer, 1);
   hx:=IntToHex(buffer, 2);
   if hx = 'FF' then begin
     flu.ReadBuffer(buffer, 1);
     hx:=IntToHex(buffer, 2);
     if hx = 'D8' then Result := flu.Position - 2
     else if hx = 'FF' then
       flu.Position := flu.Position-1;
   end; //if
  end; //while
 finally
  flu.Free
 end;  //try
end;
Desde ya muchas gracias por su respuesta. Saludos..
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Imprimer Con QuickReport Imagen JPG en Base de Datos nachoalbano Impresión 3 18-09-2006 01:05:42
base de datos access en Red Nbull Conexión con bases de datos 5 13-01-2006 12:31:49
Base de datos con campo imagen raffagia MS SQL Server 1 03-03-2005 09:32:32
Guardar una archivo de imagen (bmp,jpg..etc), en la base de datos cahosoft Firebird e Interbase 4 31-07-2004 16:53:56
Imagen en base de datos. kwan Conexión con bases de datos 20 29-07-2003 22:48:21


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


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
Copyright 1996-2007 Club Delphi