Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2016
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 225
Poder: 14
darkamerico Va por buen camino
Thumbs up Guardar un JPEG en un campo LongBlob

Saludos amigos, estoy realizando una aplicación donde uso un TUniQuery para mostrar los detalles de una persona, hay un campo llamado foto (LongBlob) que debe mostrar la foto de la persona y hay un boton debajo de la imagen que debe insertar una imagen en ese registro. El proceso
lo muestro en las siguientes imagenes:

1. Busqueda de la Persona:


2. Detalle de la Persona en la Ficha:


Mi problema radica en el botón Cargar Imagen, pues tiene la mision de insertar una imagen (JPEG) hacia la BD.

La estructura de la tabla:



Cuando hago click en la grilla del Paso 1, recupero el ID de la persona y lo coloco en una variable dentro del Formulario en el evento OnCellClick() de la grilla:

idPersSelecc:=gridResBusca.DataSource.DataSet.Fields[0].AsInteger;

Agradezco su ayuda amigos
Responder Con Cita
  #2  
Antiguo 01-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira algunos de los mensajes del final de página, abajo del todo.
También puedes hacer una búsqueda, es un tema que se ha tratado infinidad de veces.
Avisa si no encuentras la solución.
Responder Con Cita
  #3  
Antiguo 01-04-2016
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 225
Poder: 14
darkamerico Va por buen camino
Question Saludos

Cita:
Empezado por Casimiro Notevi Ver Mensaje
Mira algunos de los mensajes del final de página, abajo del todo.
También puedes hacer una búsqueda, es un tema que se ha tratado infinidad de veces.
Avisa si no encuentras la solución.
Efectivamente, se ha tratado muchas veces pero usando componentes TTable, lo que tengo en este programa es un TQuery, lo que estoy requiriendo es un codigo que me recoja un archivo JPEG del disco duro y lo inserte directamente en el registro con el idPersSelecc de la variable.
Responder Con Cita
  #4  
Antiguo 01-04-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bien, por eso te he comentado esto:
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Mira algunos de los mensajes del final de página, abajo del todo.
También puedes hacer una búsqueda, es un tema que se ha tratado infinidad de veces.
Avisa si no encuentras la solución.
Responder Con Cita
  #5  
Antiguo 01-04-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
No importa el componente, a fin de cuentas siempre operas con TField; en este caso la clase especializada TBlobField

Ejemplo

En este enlace hay un ejemplo de ecfisa y tambien he subido una unidad con un metodo que le pasas un campo blob y lo vuelca en un TImage

Saludos
Responder Con Cita
  #6  
Antiguo 02-04-2016
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
EL CAMPO DBiMAGE SOLO SOPERTA bmp, ¿por que? aun no tengo idea.... deviera soportar minimo png y jpg, pero bueno ya que no es el caso yo hici este codigo para usar jpg.

para evento afterscroll de ti query

Código Delphi [-]
var
  JpegImage: TJPEGImage;
  BlobStream: TStream;
begin
//     FDQImagenes contiene las imagenes en memoria y ya esta activa con solo los productos que tiene  imagen en JPG//
//     FDQProductosVentas contiene la ficha del producto completa

     FDQImagenesProductos.Close;
     FDQImagenesProductos.ParamByName('codigo').asInteger :=FDQProductosVentascodigo.AsInteger;
     FDQImagenesProductos.Open;

     if FDQImagenesProductoscodigo.AsString <> '' then
     Begin
        if not FDQImagenesProductosimagen.IsNull then
        Begin
          try
            BlobStream := FDQImagenes.CreateBlobStream(FDQImagenesProductos.FieldByName('imagen'), bmRead);
            JpegImage := TJPEGImage.Create;
            JpegImage.LoadFromStream(BlobStream);

            ImagenProd1.Picture.Assign(JpegImage);
          finally
            JpegImage.Free;
            BlobStream.Free;

            SinImagenProd1.Visible := false;
            ImagenProd1.Visible := true;
          end;
        End;
     End
        else
     Begin
          SinImagenProd1.Visible := true; // esto es un image que se superpone si no tiene imagen mostratno                                      //que es un a incognita una imagen por defecto
          ImagenProd1.Visible := false;
     End;
end;



creo es mas menos lo que quieres, salu2
__________________
^_^

http://stna.cl
Responder Con Cita
  #7  
Antiguo 02-04-2016
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
para grabar la imagen seria muy similar.

Código Delphi [-]
var JpegImage: TJPEGImage;
begin
     if FDQInsumoscodigo.AsString <> ''
     then
     Begin
         if abrir.Execute
         then
         Begin
              JpegImage:=TJPEGImage.Create;
              try
              JpegImage.LoadFromFile(abrir.FileName);
              Imagen.Picture.Assign(JpegImage);
              finally
                    JpegImage.Free;
              end;

              FDQImagenes.Close;
              FDQImagenes.ParamByName('codigo').AsInteger:=FDQInsumoscodigo.AsInteger;
              FDQImagenes.Open;

              if FDQImagenescodigo.AsString = ''
              then
              Begin
                   FDQImagenes.Append;
                   FDQImagenescodigo.Value:=FDQInsumoscodigo.AsInteger;
              End
                 else FDQImagenes.Edit;
             FDQImagenesimagen.LoadFromFile(abrir.FileName);
             FDQImagenesExt.Value:=Saca_extencion(abrir.FileName);
             FDQImagenes.Post;
             SinImagen.Visible:=false;
             imagen.Visible:=true;
         End;
     End;
end;
__________________
^_^

http://stna.cl
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Guardar Jpeg en Mysql con delphi7 shoulder Varios 2 31-12-2012 20:37:32
Leer JPEG o BitMap de campo blob ElMug Conexión con bases de datos 3 24-07-2012 03:03:39
Error al guardar Jpeg en Campo Blob El_Perrito Gráficos 6 28-04-2012 20:06:38
Guardar fotos en formato JPEG aanil SQL 6 05-05-2010 06:26:53
Guardar Imagen JPEG pero especificando calidad gulder Gráficos 2 24-02-2008 00:40:04


La franja horaria es GMT +2. Ahora son las 19:01:53.


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