2012-04-24 12 views

Respuesta

6

No estoy seguro de cómo usar SQLite para admitir una marca de tiempo de último modificador. Sin embargo, una de las características de ORMLite es un campo de versión. Puede marcar un campo Date con version = true y siempre que se actualice actualizará el Date al último valor. Consulte la documentación para obtener más información:

http://ormlite.com/docs/version-field

por lo que agregaría algo como lo siguiente a su clase:

@DatabaseField(version = true) 
Date modificationDate; 

He verificado esto funciona bien tanto para la creación y fechas de modificación. Además, esto significa que cuando se hace cualquier actualización, que se sumará algo así como lo siguiente al final de la instrucción de actualización automáticamente:

UPDATE yourclass SET ... >>> WHERE modificationDate = existing-date; <<< 

Consulte la documentación para obtener más información. Ah, y si desea almacenarla como mucho, en su lugar podría hacer algo como:

@DatabaseField(version = true, dataType = DataType.DATE_LONG) 
Date modificationDate; 
+0

Exactamente lo que estaba buscando! ¡¡Gracias!! – Quentamia

3

Se puede crear un disparador que actualiza su modificatoinDate cada vez una inserción y actualización se produce en SQLite.

ejemplo:

db.execSQL("create trigger updateModDate " + 
    "after insert on MY_TABLE for each row begin " + 
    "update MY_TABLE set modificationDate = date('now') where id = NEW.id " + 
    "end;"); 

db.execSQL("create trigger updateModDate " + 
    "after update on MY_TABLE for each row begin " + 
    "update MY_TABLE set modificationDate = date('now') where id = NEW.id " + 
    "end;"); 

Creo desencadenantes están disponibles en la base de datos sqlite utilizado por Android. No he verificado que estas actualizaciones funcionen, pero esta puede ser una solución transparente.

No estoy seguro sobre el último tiempo de acceso. Odiaría ver el rendimiento de tener que hacer una actualización cada vez que se realiza una selección.

+0

¡Eso es todo! "donde id = NEW.id" –

Cuestiones relacionadas