Delphi - ayuda campo blob

 
Vista:

ayuda campo blob

Publicado por erikams (8 intervenciones) el 28/04/2012 20:28:47
tengo este codigo y no me guarda la imagen
alguien me podria orientar porque
(no me manda ningun error al guardar)
var
bs : TMemoryStream;
begin
qryimag.Close;
qryimag.SQL.Clear;
qryimag.SQL.Add('INSERT INTO imagenes (pantalla,id, imagen) values (14,:id, :imagen);');
qryimag.ParamByName('id').AsInteger := num;
bs := TMemoryStream.Create;
if imgfot.Picture <> nil Then
if imgfot.Picture.Graphic <> nil Then
imgfot.Picture.Graphic.SaveToStream(bs);
qryimag.ParamByName('imagen').DataType := ftBlob;
qryimag.ParamByName('imagen').LoadFromStream(bs,ftBlob);
qryimag.ExecSQL;
end;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

ayuda campo blob

Publicado por E.T. (1244 intervenciones) el 28/04/2012 21:08:00
Intenta cargar tu imagen con formato grafico
1
qryimag.ParamByName('imagen').LoadFromStream(bs,ftGraphic);

O tambien intenta cargarlo desde un archivo
1
qryimag.ParamByName('blbLogo').LoadFromFile(txtRutaLogo.Text, ftGraphic);


Yo lo tengo funcionando de la segunda forma.
Como compruebas que no te está guardando la imagen?
Lo ves por tu programa, o lo ves desde el administrador de la base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda campo blob

Publicado por erikams (8 intervenciones) el 30/04/2012 18:04:03
asi lo leo nuevamente (consulto)
y manda un error...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var
    fldCampo : TField;
    stStream : TStream;
    pngImagen: Tdbimage;
begin
    with qryimag do begin
        qryimag.Close;
        qryimag.SQL.Clear;
        qryimag.SQL.Add('SELECT * FROM imagenes');
        qryimag.Open;
 
        try
          fldCampo := FieldByName('imagen');
          stStream := CreateBlobStream(fldCampo, bmRead);
          pngImagen := Tdbimage.Create(imgfot);
          pngImagen.Picture.Graphic.LoadFromStream(stStream);
          imgfot.Picture.Assign(pngImagen);
          pngImagen.Free;
        except
        end;
    end;
end;

en la base de datos como aparece ?
solo dice [binary] es correcto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

ayuda campo blob

Publicado por E.T. (1244 intervenciones) el 30/04/2012 20:06:02
Ya habia visto ese codigo, lo has modificado, cambiaste el tipo de la variable pmgImagen, utiliza el codigo original, tal vez te marcaba que te faltaba la unidad "pngimage", buscala en la web, y agregala a delphi, con eso el codigo original deberia funcionarte.
Aunque en el codigo original se usan imagenes png, no se que uses tu
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda campo blob

Publicado por erikams (8 intervenciones) el 30/04/2012 20:46:17
uso imagenes jpg y bmp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

ayuda campo blob

Publicado por E.T. (1244 intervenciones) el 01/05/2012 01:53:39
Para cargar una bmp yo uso lo siguiente
1
2
3
fldCampo := FieldByName('logo');
stStream := CreateBlobStream(fldCampo, bmRead);
imgLogo.Picture.Bitmap.LoadFromStream(stStream);

Para jpg no he probado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda campo blob

Publicado por erikams (8 intervenciones) el 02/05/2012 17:58:00
Hola E.T.
muchas gracias por tu ayuda...ya me funciono
cambie mi forma de leer la imagen
y guaaoo funciono...
mil gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda campo blob

Publicado por erikams (8 intervenciones) el 03/05/2012 22:28:45
ahora mi duda es como lo leo una vez guardado
es decir tengo un memdata, necesito leer el campo cmpleto
para realizar algun cambio y sino para guardarlo nuevamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar