Test Foro de elhacker.net SMF 2.1

Programación => Programación General => 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 (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));