Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Guardar fotos en formato JPEG (https://www.clubdelphi.com/foros/showthread.php?t=67289)

aanil 10-04-2010 03:00:37

Guardar fotos en formato JPEG
 
Hola a todos:

Usando artificios he logrado guardar en una tabla access en nombre y la foto de una estudiante, pero en formato BMP, no lo he podido lograr en JPEG.

Este es el código que lo guarda, me funciona, pero creo que la tabla se var a poner muy grande cuando tenga muchos datos.

Código SQL [-]
query1.Insert;
query1nombre.AsString := edit1.Text ;
query1foto.LoadFromFile (edit2.Text) ;
query1.Post;

Este otro es el de consultar, todo me sale bien.

Código SQL [-]
   with query2 do begin
close;
sql.Text := 'select * from tabla where nombre ='+quotedstr(edit1.Text);
open;

La ayuda que les solicito es como guardar la foto en formato JPEG

Saludos

Caral 10-04-2010 03:03:55

Hola
Te recomiendo:
1- en caso de seguir insistiendo en guardar la foto en la bd que sea en formato png, si es posible (no se hacerlo).
2- No guardar la foto en la BD.
Soy partidario de la segunda opción.
Saludos

radenf 10-04-2010 13:54:53

Estimado(a) aanil:

Si utilizas el componente EDBImage de Sebastián Mayora, de distribución gratuita, que encuentras fácilmente al hacer una búsqueda en la web, podrás insertar imágenes en formato jpeg en tu BD, sin hacer ningún esfuerzo.
Te adjunto el código que te permite insertar o eliminar las imágenes. Debes incluir en tu Form este componente, un OpenPictureDialog y un ActionList para definir los DataSetEdit1 y DataSetRefresh1.

Para insertar imágenes en la BD

Código Delphi [-]
procedure Form1.ButtonInsertarFotografia1Click(Sender: TObject);
begin
if DataSetEdit1.Execute then
if OpenPictureDialog1.Execute then
EDBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
DataSetRefresh1.Execute;
end;

Para eliminar las imágenes de la BD

Código Delphi [-]
procedure Form1.ButtonEliminarFotografia1Click(Sender: TObject);
begin
if Message1.MessageDlg('¿ Realmente desea eliminar esta Fotografía ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
DataSetEdit1.Execute ;
EDBImage1.Field.Clear ;
DataSetRefresh1.Execute;
end;
end;

Espero haber podido ayudarte

Salu2

heroe 11-04-2010 01:57:32

Re: Guardar imagenes jpg en base de datos
 
Hola,
Ya navegaste por los post relacionados con el tema?, hay varias respuestas que creo pueden ayudarte.

Aquí hay un link a un post que responde tu pregunta
http://www.clubdelphi.com/foros/show...?t=58164:cool:

aanil 11-04-2010 19:12:06

Saludos Caral

Tengo un programa que se llama EASY GRAPHIC CONVERTER, que convierte una foto de JPEG a cualquier formato incluyendo el png. Este programa convierte una foto que tiene formato JPEG y de 39 KB a formato png a 14 KB.

Para mi caso con ese formato png yo puedo almacenar en una tabla las fotos de mis estudiantes que no pasan de 100, pero hay una cosa en formato bmp, yo puedo almacenar la foto y puedo también llamarla, en formato png no lo puedo hacer.

En uses hice la declaración del formato, pero no me lo admite.

* Puedes darme una explicación?

Gracias.

Caral 11-04-2010 20:17:50

Hola
No se como guardar en formato PNG.
Lo que te recomendé fue no usar la tabla mas bien almacenar las fotos en archivo.
Saludos

victor Julio 05-05-2010 06:26:53

Cita:

Empezado por radenf (Mensaje 359899)
Estimado(a) aanil:

Si utilizas el componente EDBImage de Sebastián Mayora, de distribución gratuita, que encuentras fácilmente al hacer una búsqueda en la web, podrás insertar imágenes en formato jpeg en tu BD, sin hacer ningún esfuerzo.
Te adjunto el código que te permite insertar o eliminar las imágenes. Debes incluir en tu Form este componente, un OpenPictureDialog y un ActionList para definir los DataSetEdit1 y DataSetRefresh1.

Para insertar imágenes en la BD

Código Delphi [-]procedure Form1.ButtonInsertarFotografia1Click(Sender: TObject); begin if DataSetEdit1.Execute then if OpenPictureDialog1.Execute then EDBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName); DataSetRefresh1.Execute; end;


Para eliminar las imágenes de la BD

Código Delphi [-]procedure Form1.ButtonEliminarFotografia1Click(Sender: TObject); begin if Message1.MessageDlg('¿ Realmente desea eliminar esta Fotografía ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin DataSetEdit1.Execute ; EDBImage1.Field.Clear ; DataSetRefresh1.Execute; end; end;


Espero haber podido ayudarte

Salu2

Estimado aanil me pondrias incicar como defino los DataSetEdit1 y DataSetRefresh1 te lo agradeceria bastante, ya que instale bien edibimage 1.6, pero no graba como dice su readme sin una linea de codigo

Saludos


La franja horaria es GMT +2. Ahora son las 21:47:26.

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