ai galera estou tendo problemas ao deletar um registro RMS, infelizmente so ta dando certo se eu usar deleteRecord(int i ) mas esse método exige o id do registro e fica inviavel alguém ficar decorando a ordem que gravou os registros, ja fiz um método pra retornar o ID do registro mas infelizmente a resposta nem sempre é correta, como sabemos ao se deletar um registro o ID continua existindo não sendo reorganizado no registro, com isso de acordo com as circuntâncias podemos ter 2 registros com ID 5 e 6, logo esse método que eu fiz não funciona, abaixo eu vou colocar o codigo fonte, se alguem tiver alguma sugestão desde ja agradeço.
else if (command == delete) {
getDisplay().setCurrent(get_form1());
get_form1().deleteAll();//limpa a tela
String comp=TFTexto.getString();
int result = 0;
try {
RecordEnumeration re= rs.enumerateRecords(null,null,false) ;
while(re.hasNextElement()){
byte dados[]=re.nextRecord();
ByteArrayInputStream bin= new ByteArrayInputStream(dados);
DataInputStream din=new DataInputStream(bin);
String texto=din.readUTF();
//compara texto de entrada com o campos do registro
result= comp.compareTo(texto);
if (result==0) {
/*até aqui ta ok so entra no result se palavra
existir no registro*/
System.out.println("dentro do result " + texto);
//aqui ta o problema, nao da erro de compilacao,
//porém cai no catch()
rs.deleteRecordStore(texto);
//se eu usar esse metodo da certo porém como ja explique a vcs
//preciso do ID do registro.
// rs.deleteRecord();
get_form1().append("sucesso ao excluir registro");
}
}//fim while
} catch (Exception ex) {
get_form1().append("erro ao excluir registro ");
}