InvalidRecordIDException al eliminar un registro

Iniciado por mgc, 26 Febrero 2015, 21:39 PM

0 Miembros y 1 Visitante están viendo este tema.

mgc

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 (java) [Seleccionar]
public void eliminarCliente(String name) throws RecordStoreException {
       
       try {
           almacen = RecordStore.openRecordStore("Clientes", true);
           enumeracion = almacen.enumerateRecords(null, null, true);
           int clients = 0;
           

           while (enumeracion.hasNextElement()) {
               int id=enumeracion.nextRecordId();
               String client = new String(enumeracion.nextRecord());
               int separator = client.indexOf(":");
               String username = client.substring(0, separator);
               if (username.equals(name)) {
                   
                   almacen.deleteRecord(id);
               }
               clients++;
           }

       } catch (RecordStoreException ex) {
           ex.printStackTrace();
       } finally {
           almacen.closeRecordStore();
       }
     
   }

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 (java) [Seleccionar]
String client = new String(almacen.getRecord(id));