Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cargar imagen en Un TImage guardada en campo Blob o Objeto OLE en accsess (https://www.clubdelphi.com/foros/showthread.php?t=61973)

gulder 28-11-2008 17:45:46

Cargar imagen en Un TImage guardada en campo Blob o Objeto OLE en accsess
 
Hola foro como andan espero que bien buscando por el foro encontre la forma de guardar una imagen en un campo blob en access hasta hay todo bien pero haora quiero cargar esa imagen guardada en un Timage, pero de la forma que lo hago no me sale nada:

NOTA: de esta forma guardo la iamegen en mi BD

Código Delphi [-]
    with form1.ADOQuery2 do
    begin
          close;
          sql.Text:='select max(Id_foros) from Foros';
          open;
          numer:=strtoint(fields.Fields[0].AsString)+1;

          close;
          sql.Text:='Insert into Foros'+
                    ' values(:Id_foros,:Nombre,:imagen,:id_bbcode)';

          form1.ADOQuery2.Parameters.ParamByName('Id_foros').value := inttostr(numer);
          form1.ADOQuery2.Parameters.ParamByName('Nombre').value := ComboBox1.Text;
          form1.ADOQuery2.Parameters.ParamByName('imagen').value := 'gulder';
          form1.ADOQuery2.Parameters.ParamByName('id_bbcode').value := '0';

          execsql;

          crearImagen();

          active:=false;
          SQL.text:='Select * from Foros WHERE Id_foros='+IntToStr(numer);
          active:=true;
          edit;
          TBlobField(FieldByName('imagen')).LoadFromStream(AStream);
          Post;
          AStream.Free;

          MessageDlg('Foro Guardado Con Exito ',mtConfirmation, [mbok], 0);
          cargarForos();
          image2.Picture.LoadFromFile(form1.dir+'\Imagenes\icono_foro.jpg');

    end;




NOTA: de esta forma intento cargar iamegen que esta en mi BD

Código Delphi [-]
      with form1.ADOQuery2 do
      begin
         Active:=false;
         sql.Text:= 'select Id_foros,imagen from Foros where Nombre = '+char(39)+ComboBox1.Text+char(39);
         Active := true;
        if Recordcount > 0 then begin

         AStream := TMemoryStream.Create;
         label4.Caption:=Fields.Fields[0].AsString;
         TBlobField(Fields.Fields[1]).SaveToStream(AStream);
         Image2.Picture.Bitmap.LoadFromStream(AStream);
         AStream.Free;
        end;
      end;


bueno no da ningun error pero cuando intento cargar dicha imagen no muestra nada no se por que sera saludos gulder-gan

gulder 28-11-2008 18:54:43

googleando por hay encontre y me funciono aqui lo dejo por si algun dia alguien le sirve


Código Delphi [-]
      with form1.ADOQuery2 do
      begin
         Active:=false;
         sql.Text:= 'select Id_foros,imagen from Foros where Nombre = '+char(39)+ComboBox1.Text+char(39);
         Active := true;
        if Recordcount > 0 then begin
         //muestro el id o codigo del foro
         label4.Caption:=Fields.Fields[0].AsString;

        If Not Fields.Fields[1].IsNull Then
        Begin
          LmsImagen := TADOBlobStream.Create(TBlobField(Fields.Fields[1]),bmRead);
          LmsImagen.SaveToFile(ExtractFilePath(Application.ExeName)+'foto.jpg');
          Image2.Picture.Bitmap.LoadFromFile(ExtractFilePath(Application.ExeName)+'foto.JPG')
         // Image2.Refresh;
        End


        end;
      end;


La franja horaria es GMT +2. Ahora son las 10:56:48.

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