Sistema de Login com banco RMS (J2ME)

Olá pessoal!

Estou tentando montar um sistema de login pra um app meu em J2ME, estou utilizando um banco interno.

O problema é que não estou conseguindo alterar a senha de um determinado usuário, meu metodo de atualizar senha simplesmente parece nao funcionar, ou o problema está no metodo que carrega os dados do banco?

me ajudem, por favor.

Aqui se encontra o código:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hello;

import java.io.*;
import java.util.Vector;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.RecordEnumeration;
import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreNotOpenException;

/**
 * @author cleiton
 */
public class Midlet extends MIDlet {
    String ladmin,sadmin,adminid;
    String llimpeza,slimpeza,limpezaid;
    String lseguranca,sseguranca,segurancaid;
    String lmanutencao,smanutencao,manutencaoid;
    String latividades,satividades,atividadesid;
    String lsegredo,ssegredo,segredoid;
    String mbanco;
    int perfil = 89;
    
    private RecordStore rs;
    private RecordEnumeration re;
    private Vector vetor = new Vector();
    private int indice,indice2;
    private boolean novo;
    private int defaultindex,defaultindex2;
    private int flag = 0;
    int contador=0;
    String[] global = new String[5];
    
    private Display display;
    private Form principal = new Form("principal");
    
    String lista = "";

    public void startApp() {
        display = Display.getDisplay(this);
        
        display.setCurrent(principal);
        
        criaBD();
        
        insereRegDefault("|adin|admin|1|ad123|adfim|");
        insereRegDefault("|liin|limpeza|2|li123|lifim|");
        insereRegDefault("|main|manutencao|3|ma123|mafim|");
        insereRegDefault("|sein|seguranca|4|se123|sefim|");
        insereRegDefault("|atin|atividades|5|at123|atfim|"); 
        insereRegDefault("|inicio|SEGREDO|fim|");  
        carregaRegDefault();
        login("admin","ad123");
        atualizaSenha("12345");
        login("admin","12345");
        carregaRegDefault();
        System.out.println(mbanco);
 
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
    
      public void criaBD(){
        try{
            rs = RecordStore.openRecordStore("bdCONTASSS",true);
            System.out.println("Banco de Dados criado/aberto com sucesso!");
            System.out.println("Nome do Banco: " + rs.getName());
            System.out.println("Qtd Registros: " + rs.getNumRecords());
            System.out.println("Tam. Ocupado : " + rs.getSize());
            System.out.println("Espaço Disp. : " + rs.getSizeAvailable());
        }catch(Exception erro){
            System.out.println("Não foi possivel criar o BD!");
        }
    }
      
      
      public void carregaRegDefault(){
        try{
         
            lista = "";
            ByteArrayInputStream inputStream29 = null;
            DataInputStream dataStream29 = null;
            re = rs.enumerateRecords(null,null,false);
            int id=0;
            byte [] dados = null;
            vetor.removeAllElements();
            while(re.hasNextElement()){
                id = re.nextRecordId();
                vetor.addElement(""+ id);
                dados = rs.getRecord(id);
                inputStream29 = new ByteArrayInputStream(dados);
                dataStream29 = new DataInputStream(inputStream29);

                
                  mbanco = mbanco +"@id "+id+"@"+dataStream29.readUTF().toString();
                }
                //lista = lista + "\nLogin: "+dataStream29.readUTF()  + "\nSenha: "+ dataStream29.readUTF();

            System.out.println("Logon: "+mbanco.substring(mbanco.indexOf("|atin|")+6,mbanco.indexOf("|5|"))+" - Senha: "+mbanco.substring(mbanco.indexOf("|5|")+3,mbanco.indexOf("|atfim|")));  

            latividades = mbanco.substring(mbanco.indexOf("|atin|")+6,mbanco.indexOf("|5|"));
            satividades = mbanco.substring(mbanco.indexOf("|5|")+3,mbanco.indexOf("|atfim|"));
           
 System.out.println("Logon: "+mbanco.substring(mbanco.indexOf("|sein|")+6,mbanco.indexOf("|4|"))+" - Senha: "+mbanco.substring(mbanco.indexOf("|4|")+3,mbanco.indexOf("|sefim|")));  

            lseguranca = mbanco.substring(mbanco.indexOf("|sein|")+6,mbanco.indexOf("|4|"));
            sseguranca = mbanco.substring(mbanco.indexOf("|4|")+3,mbanco.indexOf("|sefim|"));
         
           System.out.println("Logon: "+mbanco.substring(mbanco.indexOf("|main|")+6,mbanco.indexOf("|3|"))+" - Senha: "+mbanco.substring(mbanco.indexOf("|3|")+3,mbanco.indexOf("|mafim|")));  

            lmanutencao = mbanco.substring(mbanco.indexOf("|main|")+6,mbanco.indexOf("|3|"));
            smanutencao = mbanco.substring(mbanco.indexOf("|3|")+3,mbanco.indexOf("|mafim|"));

            System.out.println("Logon: "+mbanco.substring(mbanco.indexOf("|liin|")+6,mbanco.indexOf("|2|"))+" - Senha: "+mbanco.substring(mbanco.indexOf("|2|")+3,mbanco.indexOf("|lifim|")));  

            llimpeza = mbanco.substring(mbanco.indexOf("|liin|")+6,mbanco.indexOf("|2|"));
            slimpeza = mbanco.substring(mbanco.indexOf("|2|")+3,mbanco.indexOf("|lifim|"));

            System.out.println("Logon: "+mbanco.substring(mbanco.indexOf("|adin|")+6,mbanco.indexOf("|1|"))+" - Senha: "+mbanco.substring(mbanco.indexOf("|1|")+3,mbanco.indexOf("|adfim|")));  

            ladmin=mbanco.substring(mbanco.indexOf("|adin|")+6,mbanco.indexOf("|1|"));
            sadmin=mbanco.substring(mbanco.indexOf("|1|")+3,mbanco.indexOf("|adfim|"));
            inputStream29.close();
            dataStream29.close();
           
        }catch(Exception erro){
            System.out.println("Erro ao ler dados" + erro);
        }
    }
      public void insereRegDefault(String login){
        try{
            System.out.println("Entrei InseriReg");
            ByteArrayOutputStream bStream = new ByteArrayOutputStream();
            DataOutputStream dStream = new DataOutputStream(bStream);
            dStream.writeUTF(login);
            dStream.flush();
            byte [] dados = bStream.toByteArray();
            System.out.println("Adiciona");
             rs.addRecord(dados, 0, dados.length);
             System.out.println("Adiciona OK");
            bStream.close();
            dStream.close();
        }catch(Exception erro){
           System.out.println("Erro ao inserir dados : " + erro);
        }
    }
      
      public void login(String login, String senha){
          int bandeira = 0;
          if(login.equals(ladmin) && senha.equals(sadmin)){
          System.out.println("LOGOU!");
          perfil = 1;
          bandeira = 1;
          }
          if(login.equals(llimpeza) && senha.equals(slimpeza)){
          System.out.println("LOGOU!");
          perfil = 2;
          bandeira = 1;
          } 
          if(login.equals(lmanutencao) && senha.equals(smanutencao)){
          System.out.println("LOGOU!");
          perfil = 3;
          bandeira = 1;
          } 
          if(login.equals(lseguranca) && senha.equals(sseguranca)){
          System.out.println("LOGOU!");
          perfil = 4;
          bandeira = 1;
          } 
          if(login.equals(latividades) && senha.equals(satividades)){
          System.out.println("LOGOU!");
          perfil = 5;
          bandeira = 1;
          }
          if(login.equals(lsegredo) && senha.equals(ssegredo)){
          System.out.println("LOGOU!");
          perfil = 6;
          bandeira = 1;
          }
          if(bandeira == 0){
          System.out.println("NAO LOGOU!");
          }
          
      }
      
      
       
       
       public void atualizaSenha(String senha){

        try{
            System.out.println("Entrei InseriReg");
            ByteArrayOutputStream bStream = new ByteArrayOutputStream();
            DataOutputStream dStream = new DataOutputStream(bStream);
            
            if(perfil == 1){
                dStream.writeUTF("|adin|admin|1|"+senha+"|adfim|");
                dStream.flush();
            }
            if(perfil == 2){
            dStream.writeUTF("|liin|limpeza|2|"+senha+"|lifim|");
                dStream.flush();
            }
            if(perfil == 3){
            dStream.writeUTF("|main|manutencao|3|"+senha+"|mafim|");
                dStream.flush();
            }
            if(perfil == 4){
            dStream.writeUTF("|sein|seguranca|4|"+senha+"|sefim|");
                dStream.flush();
            }
            if(perfil == 5){
                System.out.println("|atin|atividades|5|"+senha+"|atfim|");
                dStream.flush();
            }
                
           
            byte [] dados = bStream.toByteArray();

        
                System.out.println("ENTREI NA EDICAO!");
                 System.out.println("Edita");
                 
                 rs.setRecord(Integer.parseInt(vetor.elementAt(perfil-1).toString()),dados,0,dados.length);
            bStream.close();
            dStream.close();
        }catch(Exception erro){
           System.out.println("Erro ao inserir dados : " + erro);
        }
         }
    }