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 Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2018
NicolasP NicolasP is offline
Miembro
 
Registrado: May 2013
Posts: 12
Poder: 0
NicolasP Va por buen camino
Grabar imagen en Sqlite Android y Windows.

Estoy con una app que lee y graba fotos (entre otros datos) en una base Sqlite. Después de seguir muchos ejemplo logre que funcione bien leyendo y escribiendo .
Seguí este ejemplo de Jonatan Souza y me funciona bien en android.

https://www.youtube.com/watch?v=2X7yDJYHuQk&t=62s

Ahora bien... en windows no funciona ....

Si bien la aplicación no es para windows , hago pruebas ahí (creo, como muchos) por una cuestión del tiempo que tarda la aplicación en correr.
Al leer: "Loading bitmap failed" y al grabar nada ..... pero tampoco la graba, lo verifiqué. Los otros datos se leen y graban sin problemas.
Uso Sqlite 3 , el archivo tiene se llama base1.s3db y es el mismo que subo al teléfono cuando pruebo. Me imagino que puede ser una cosa de versiones de sqlite. Ni idea que tiene el teléfono... La verdad nose.

Uso Delphi 10.1 -

grabar:

Código Delphi [-]
var
    BlobStream : TStream;
    QGuardar : TFDQuery;
begin
  QGuardar := TFDQuery.Create( Nil );
  QGuardar.Connection := FDConnection1;
  QGuardar.SQL.Clear;
  QGuardar.SQL.Add('SELECT perfil WHERE id=1');
  QGuardar.ExecSQL;
     lb_nombre.Text :=  QGuardar.FieldByName('nombre').AsString;
     lb_email.Text := QGuardar.FieldByName('email').AsString;
     ed_fechaNac.Text := QGuardar.FieldByName('fechanac').AsString;
     BlobStream := QGuardar.CreateBlobStream(
                        QGuardar.FieldByName('foto'),TBlobStreamMode.bmRead
                       );

    FotoPerfil.LoadFromStream(BlobStream);
    Cir_Foto.fill.bitmap.Bitmap := FotoPerfil;


  QGuardar.Close;



leer:
Código Delphi [-]
procedure TFormThree.BC_SalvarPerfilClick(Sender: TObject);
Var
 qrySalvar : TFDQuery;
 ImgSalvar : TMemoryStream;
begin

  qrySalvar := TFDQuery.Create( Nil );
  qrySalvar.Connection := FDConnection1;

    qrySalvar.SQL.Clear;
   qrySalvar.SQL.Add('UPDATE perfil SET nombre=:name, email=:email, foto=:foto WHERE id=1');
   qrySalvar.ParamByName('name').AsString := Ed_NOMBRE.Text;
   qrySalvar.ParamByName('email').AsString := Ed_Email.Text;


   ImgSalvar := TMemoryStream.Create;
   FotoPerfil.SaveToStream( ImgSalvar );
   ImgSalvar.Seek(0,0);

   qrySalvar.ParamByName('foto').LoadFromStream( ImgSalvar, ftBlob);

   qrySalvar.ExecSQL;

end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Actualizar BD Sqlite Android EdgarSamudio Desarrollo en Delphi para Android 4 25-06-2016 17:05:29
Wifi, Android y SQLite Jose Roman Varios 3 10-09-2015 14:36:30
Android SQLite pantalla negra Davidecr Desarrollo en Delphi para Android 9 17-03-2014 18:41:09
Grabar imagen spia Tablas planas 4 12-03-2008 20:47:53


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


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi