Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   cargar imagen para base de datos (https://www.clubdelphi.com/foros/showthread.php?t=54543)

Max_E. 22-03-2008 17:17:01

cargar imagen para base de datos
 
hola a todos: :):)
hace ya meses pude crear con mucha mucha ayuda de este foro una aplicación de base de datos sobre las partes que llevan ciertos componentes, indicando nombre, serie, cantidad y además un comentario del mismo (el cual me sirve de mucho por la gran cantidad de componentes que hay) pero lo que no puedo hacer es que además de un comentario me de también una imagen de la parte en mención.

Me explico....:(:(


utilizo 2 archivos componente. DB, partes.DB (table1, table2), uno donde están todos los componentes y otro donde están las partes de cada componte, el programa filtra según la elección del componente y los muestra en un DBGRID, y cuando se hace click en una de las celdas de las partes muestra un comentario en un DBMEMO. En el archivo componentes.DB en el campo comentario puse tipo memo y al DBMEMO lo enlace con el table1 con un DataSource1.

Y por fin la pregunta....:confused:

como le ago si quiero mostrar una imagen que se a cargado desde la creación o cargarla en ejecución pero que se guarde la ruta para la próxima consulta ???????......

Max_E. 25-03-2008 15:58:42

Hola a todos denuevo.

bueno encontre un ejemplo de como cargar una imagen en base de datos en preguntas parecidas en el foro, y si resultan pero lo que yo quiero es cargar imagenes .jpg y en el ejemplo solo se puede cargar imagenes .bmp este es el codigo

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
If OpenPictureDialog1.Execute then
begin
table1.Edit;
DBImage1.Picture.LoadFromFile (openpicturedialog1.FileName);
end;

talves falta algo en USES, estos son los que utilizo

Código Delphi [-]
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables, DBCtrls, ExtCtrls, Menus,
  Mask, ExtDlgs, jpeg;

encontre otro ejemplo pero no funciona y me muetsra el error 'bitmap image is not valid'

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
  var
    Jpg: TJpegImage;
    Stream: TMemoryStream;
  begin
    Jpg := nil;
    Stream := nil;
    try

      // Create a JPEG image and load it from a file

      Jpg := TJpegImage.Create;

If OpenPictureDialog1.Execute then
begin

DBImage1.Picture.LoadFromFile (openpicturedialog1.FileName);


End;
 Jpg.LoadFromFile(openpicturedialog1.FileName);

      // Create a stream and save the image to the stream

      Stream := TMemoryStream.Create;
      Jpg.SaveToStream(Stream);
      Stream.Position := 0;
      Table1.Append;

      // Load the Blob field from the stream

      TBlobField(Table1.FieldByName('Image')).LoadFromStream(Stream); (aqui se detiene)

//      Table1.Post;
    except
      jpg.Free;
      Stream.Free;
      raise;
    end;
    jpg.Free;
    Stream.Free;

end;

tal ves el problema esta en las propiedades del campo image???, guardarlo en bmp me ocuparia mucho espacio es por eso que preferiria que se guarde con externcion .jpg

en verdad ya e buscado en preguntas anteriores pero nada aun, espero que alguien pueda yurdarme, gracias de ante mano.


La franja horaria es GMT +2. Ahora son las 16:08:56.

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