Problemas com RMS

2 respostas
W
Pessoal estou desenvolvento um pequno aplicativo para celular, criei o metodo para inserir no RMS, MAS NA HORA que o sistema e reiniciado os dados sao apagados alquem poderia me ajudar???????????????????

Aqui vai o codigo e o erro que e exebido:

public void insereDado()
    {
        try
        {
            ByteArrayOutputStream bStream = new ByteArrayOutputStream();
            DataOutputStream dStream = new DataOutputStream(bStream);
            dStream.writeUTF(tfConta.getString());
            dStream.writeUTF(tfLogin.getString()); 
            dStream.writeUTF(tfSenha.getString());
            dStream.flush();
            byte [] dados = bStream.toByteArray();
            rsNomes.addRecord(dados,0,dados.length);

            bStream.close();
            dStream.close();            
        }
        catch(Exception erro)
        {
            System.out.println("Erro ao inserir dados"+erro);
        }
    }
[code]

O SEGUINTE ERRO E EXEBIUDO NO CONSSOLE

[color=red]Erro ao inserir dadosjava.lang.ArrayIndexOutOfBoundsException: 2 >= 1[/color]

2 Respostas

S

Olá,
você está abrindo o rms e criando o registro antes de gravar?

private void OPENrsNomes(){ try{ rsNomes = RecordStore.openRecordStore("rsNomes", true); } catch (RecordStoreException recExp){ mostrarAlerta("RMS rsNomes", "Erro ao abrir rsNomes. Tipo erro: " + recExp); exitMIDlet(); } }

private void ADDRegNomes(){ try{ rsNomes.addRecordListener(new RecordListener() { public void recordAdded(RecordStore recordStore, int recordId) { } public void recordChanged(RecordStore recordStore, int recordId) { } public void recordDeleted(RecordStore recordStore, int recordId) { } }); }catch (Exception ex){ mostrarAlerta("RMS rsNomes", "Erro ao criar registro rsNomes. Tipo erro: " + ex); } }

private void mostrarAlerta(String tipoAlerta, String msg){ alerta = new Alert(tipoAlerta, msg, null, AlertType.WARNING); alerta.setTimeout(Alert.FOREVER); display.setCurrent(alerta); }

Antes de gravar você abre e cria o registro.

W

silvio.cavalheri:
Olá,
você está abrindo o rms e criando o registro antes de gravar?

private void OPENrsNomes(){ try{ rsNomes = RecordStore.openRecordStore("rsNomes", true); } catch (RecordStoreException recExp){ mostrarAlerta("RMS rsNomes", "Erro ao abrir rsNomes. Tipo erro: " + recExp); exitMIDlet(); } }

private void ADDRegNomes(){ try{ rsNomes.addRecordListener(new RecordListener() { public void recordAdded(RecordStore recordStore, int recordId) { } public void recordChanged(RecordStore recordStore, int recordId) { } public void recordDeleted(RecordStore recordStore, int recordId) { } }); }catch (Exception ex){ mostrarAlerta("RMS rsNomes", "Erro ao criar registro rsNomes. Tipo erro: " + ex); } }

private void mostrarAlerta(String tipoAlerta, String msg){ alerta = new Alert(tipoAlerta, msg, null, AlertType.WARNING); alerta.setTimeout(Alert.FOREVER); display.setCurrent(alerta); }

Antes de gravar você abre e cria o registro.


Valeu era isto mesmo agora deu certinho, valeu!

Criado 8 de abril de 2011
Ultima resposta 3 de mai. de 2011
Respostas 2
Participantes 2