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
  #1  
Antiguo 25-04-2016
EdgarSamudio EdgarSamudio is offline
Registrado
NULL
 
Registrado: sep 2014
Posts: 3
Poder: 0
EdgarSamudio Va por buen camino
Question Actualizar BD Sqlite Android

Muy buenos días a todos.

Tengo un pequeño proyecto hecho en Firemonkey (Delphi 10Seattle), la cual usa una BD Sqlite que obtiene los datos iniciales de un Servidor DataSnap en un equipo Windows Server 2008 x64 con Firebird-2.5.5.26952_0 también x64, un servidor FTP con una IP pública y sus respectivos puertos en escucha.

Otras herramientas que uso son:
1- KataKuntur v2.5.2, data modeler para SQLite, Jean Mazuelos
2- SQLite Administrator v0.8.3.2, Orbmuk2

La funcionalidad es así, al instalar la aplicación el usuario manualmente tiene que ejecutar una utilidad que consulta e inserta del servidor DataSnap a SQLite todos los registros de las tablas a usar, (Clientes, Productos) y funcione localmente desde entonces, sin consultar o enviar datos al servidor DataSnap (esto es a causa de la muy mala conexión a internet de las operadoras móviles en mi ciudad/país).

Básicamente la app obtiene los datos iniciales, luego los usuarios hacen inserciones, consultas y/o modificaciones en las tablas, todos en la BD del dispositivo; hasta acá todo bien y no hay inconvenientes.

Cada dispositivo tiene datos nuevos cargados en SQLite (fichar nuevo cliente, cargar pedidos de ventas) que al término de la jornada o recorrido, los usuarios envían manualmente al servidor DataSnap los datos pendientes y obtienen los registros iniciales de nuevo para el próximo día siempre usando esa utilidad de la aplicación.

El problema está en cómo actualizar la BD Sqlite del dispositivo cuando haya cambios del diseño de la BD, como por ejemplo uno o varios campos nuevos, o una tabla nueva sin desinstalar la aplicación y/o perder datos.

Los cambios lo hago usando KK y exporto el diagrama la cuál genera la BD.sqlite, este añado al proyecto Firemonkey y al construir adjunta al APK.

El nuevo APK es alojada al servidor FTP para su descarga, los usuarios lo obtienen e instalan en sus dispositivos pero no actualiza la BD antigua.

Buscando en internet encontre estos foros que por cierto están en portugués

1: Fórum Programador Mobile - Android - IOS - Delphi
programadormobile.com.br/viewtopic.php?f=24&t=383&p=1317

2: [ANDROID/IOS]Atualizar DB sqlite pelo aplicativo
programadormobile.com.br/novo/2015/05/26/androidiosatualizar-db-sqlite-pelo-aplicativo/

Ambos foros describen una idéntica lógica/solución la cuál es crear un procedure en delphi para así validar por cada campo algún cambio de estructura, pero no prevé los datos.

Además, el mismo autor admite que podría haber otra solución más eficiente y es por eso que me atreví a escribir al foro y robarles su preciado tiempo a todos ya que soy muy novato en todo esto (Delphi y SQLite).

La idea es hacer una utilidad como DBComparer para SQLite que funcione en Android e iOS dentro de la misma aplicación o cómo una utilidad externa a ella, de ahí a que herramientas usar y cómo hacerlo es mi gran duda.

Agradezco de antemano y que tengan buen resto de jornada.
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
SQLite is Locked? Problema con SQLite. pokexperto1 Conexión con bases de datos 6 05-06-2016 22:24:08
Wifi, Android y SQLite Jose Roman Varios 3 10-09-2015 14:36:30
SQLite y Max(ID) FGarcia Tablas planas 1 24-04-2014 17:44:27
Android SQLite pantalla negra Davidecr Desarrollo en Delphi para Android 9 17-03-2014 18:41:09
SQLite mblascog Conexión con bases de datos 2 19-02-2011 19:51:00


La franja horaria es GMT +2. Ahora son las 23:07: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
Copyright 1996-2007 Club Delphi