Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 24-06-2017
rmeckbell rmeckbell is offline
Miembro
NULL
 
Registrado: feb 2016
Posts: 16
Poder: 0
rmeckbell Va por buen camino
Guardar y Leer fotos directamente a una base de datos sin antes guardar como archivo

Hola...

Si alguien me puede ayudar con el siguiente tema, el asunto es que desarrolle una aplicación para Android donde trato de guardar una imagen a una base de datos y a su vez luego recuperar la imagen y mostrarla en un objeto TImage..el tema es que guadar y abrir imágenes desde un archivo si lo logro hacer,, sin embargo con una base de datos se me complica, pues he buscado en varios foros y los ejemplo que dan es cargar la imagen desde un archivo y luego guardarla a la base de datos, pero lo que ocupo es que la imagen tomada directamente desde mi aplicación en el celular, la pueda guardar directamente al campo Blob en la base de datos Interbase en un servidor externo, el problema que tengo no es la conexion con la base de datos sino el poder guardar la imagen en memoria directamente al campo imagen en la base de datos.

Estos son los procedimientos que desarrolle, les agradecerìa cualquier tipo de ayuda.
Código Delphi [-]
procedure TAccessCameraAppForm.Button1Click(Sender: TObject);
  //recuperar imagen
  var  Stream: TStream;

  begin

 fdquery1.Close;
 fdquery1.SQL.Clear;
 fdquery1.SQL.add('select Imagen from Casos where codigo = :code');
 fdquery1.ParamByName('code').AsInteger:= 1;
 fdquery1.open;
 Stream := TMemoryStream.Create;
 Stream := fdquery1.CreateBlobStream(fdquery1.FieldByName('Imagen'), bmRead);
 fdquery1.Close;

  imgcameraImage.Bitmap.LoadFromStream(Stream);  //se indica un error en el bitmap que se carga
  //desde la base de datos

 Stream.Free;                 // liberamos...

 end;

procedure TAccessCameraAppForm.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
      //guardar imagen
var picturename,ruta:string;
        SaveParams: TBitmapCodecSaveParams;
        vstream:TStream;
         codigo:integer;
begin



  { Assign the image retrieved from the Camera to the TImage component. }
  imgCameraImage.Bitmap.Assign(Image);
 vstream :=TMemoryStream.Create;


 imgcameraImage.Bitmap.SaveToStream(VStream);


 fdquery1.Close;
 fdquery1.SQL.Clear;
 fdquery1.SQL.add('select max(codigo) from Casos');
 fdquery1.open;
 codigo := fdquery1.Fields.Fields[0].Value+1;

 fdquery1.Close;
 fdquery1.SQL.Clear;
 fdquery1.SQL.Add('Insert Into Casos (Codigo,Nombre,Imagen) VALUES(:code,:name,:foto)');
 fdquery1.ParamByName('name').DataType := ftString;
 fdquery1.ParamByName('name').AsString:='Jorge';
 fdquery1.ParamByName('code').DataType := ftInteger;
 fdquery1.ParamByName('code').AsInteger:= codigo;
 fdquery1.ParamByName('foto').DataType := ftBlob;
  fdquery1.ParamByName('foto').LoadFromStream(vstream,ftBlob);
 fdquery1.ExecSQL;
 vstream.Free;
 fdquery1.Close;
  
  imgCameraImage.Free;

end;

Última edición por Neftali [Germán.Estévez] fecha: 26-06-2017 a las 09:14:43. Razón: Añadir TAG's al código
Responder Con Cita
 



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
Error al guardar un Archivo de FastReport en Base de Datos Firebird con Delphi EX3 daniel_gdfr Firebird e Interbase 0 13-10-2014 20:29:08
Guardar varias Imagenes JPG en un archivo encriptado o en Base de Datos RRenault OOP 11 26-03-2012 09:04:39
Como guardar Fotos en Base de Datos? El_Raso Varios 1 30-01-2007 20:50:21
Guardar una archivo de imagen (bmp,jpg..etc), en la base de datos cahosoft Firebird e Interbase 4 31-07-2004 16:53:56
Como guardar una array en una base datos? ciscu Varios 3 11-02-2004 09:27:49


La franja horaria es GMT +2. Ahora son las 17:54:00.


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