Foro de elhacker.net

Programación => Java => Mensaje iniciado por: mgc en 26 Febrero 2015, 21:39 pm



Título: InvalidRecordIDException al eliminar un registro
Publicado por: mgc en 26 Febrero 2015, 21:39 pm
Hola,
sigo con problemas en mi aplicación j2me. Estoy intentando eliminar un registro del RecordStore del cual desconozco su id.
Los registros de mi RecordStore están compuesto por nombre:password, en este caso yo conozco el nombre.
El método es el siguiente:

Código
  1. public void eliminarCliente(String name) throws RecordStoreException {
  2.  
  3.        try {
  4.            almacen = RecordStore.openRecordStore("Clientes", true);
  5.            enumeracion = almacen.enumerateRecords(null, null, true);
  6.            int clients = 0;
  7.  
  8.  
  9.            while (enumeracion.hasNextElement()) {
  10.                int id=enumeracion.nextRecordId();
  11.                String client = new String(enumeracion.nextRecord());
  12.                int separator = client.indexOf(":");
  13.                String username = client.substring(0, separator);
  14.                if (username.equals(name)) {
  15.  
  16.                    almacen.deleteRecord(id);
  17.                }
  18.                clients++;
  19.            }
  20.  
  21.        } catch (RecordStoreException ex) {
  22.            ex.printStackTrace();
  23.        } finally {
  24.            almacen.closeRecordStore();
  25.        }
  26.  
  27.    }
Al ejecutarlo me lanza la excepción InvalidRecordIDException.

Ya está resuelto, dejo aquí la solución por si alguien tuviese el mismo problema.

Para formar el registro sería de esta manera:

Código
  1. String client = new String(almacen.getRecord(id));