Ajuda com um problema RecordStore Atualização em Java J2ME?

votos
0

Eu tenho esse código que eu tenho encurtado para os bits mais importantes que eu acho que afetam o resultado, mas basicamente eu tenho um erro sobre os bytes. Eu não sei por que, porque este código funciona em um programa diferente como eu ter emprestado o código. Isso serve para extrair os dados a partir da loja de discos com o botão recuperar, em seguida, atualizá-lo quando é feita uma alteração com o botão de atualização, mas não posso fazê-lo funcionar.

Alguém por favor pode ajudar ou me aponte para um útil tutorial atualização recordstore?

obrigado

private RecordStore rs;

    Update = new Form(Update);
    Update.addCommand(new Command(Home, Command.BACK, 0));       
    cmRetrieve = new Command(Retrieve, Command.SCREEN, 1);
    cmUpdate = new Command(Update, Command.SCREEN, 2);
    tfRecID = new TextField(Record ID:, , 8, TextField.NUMERIC);
    txtName = new TextField(Name of Event: , null, 15, TextField.ANY);

    Update.append(tfRecID);
    Update.append(txtName);
    Update.addCommand(cmRetrieve);
    Update.addCommand(cmUpdate);
    Update.setCommandListener(this);


    String str;
    byte bytes[];
    int recID;

else
    if (c.getLabel().equals(Retrieve))
    {
            recID = Integer.parseInt(tfRecID.getString());
            bytes = rs.getRecord(recID);
            str = new String(bytes);
            int idx = str.indexOf(;);
            txtName.setString(str.substring(0, idx));


    }
    else
    if(c.getLabel().equals(Update))
    {
            recID = Integer.parseInt(tfRecID.getString());
            str = txtName.getString() + :;
            bytes = str.getBytes();
            rs.setRecord(recID, bytes, 0, bytes.length);

    }
Publicado 30/03/2009 em 16:27
fonte usuário
Em outras línguas...                            


2 respostas

votos
0

eu não thisk este é um problema. rs.setRecord (recid, bytes, 0, bytes.length); último parâmetro é o comprimento de bytes

Respondeu 22/06/2009 em 05:03
fonte usuário

votos
0

http://developers.sun.com/mobility/midp/articles/databaserms/ dá um bom tutorial sobre RMS.

Pelo que posso ver, sem correr o código, o índice final passado para o setRecordestá incorreto. Você vai precisar para mudar:

rs.setRecord(recID, bytes, 0, bytes.length);

para:

rs.setRecord(recID, bytes, 0, bytes.length-1);
Respondeu 31/03/2009 em 15:02
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more