Pesistencia J2ME gravar e pesquisar + de um campo

2 respostas
S

Olá amigos gostaria de saber como faço p/ gravar e pesquisar + de um campo, por exemplo: em meu formulário há 3 edits,um recebe o “id”, um outro serve p/preencher com o nome e outro p/ preencher com a idade. O exemplo q eu fiz foi só de 2 campos(id,nome) nao qual consegui gravar, e pesquisava pelo “id” e retornava o campo nome. Agora eu quero pesquisar pelo campo “id” e quero que retorne os campos “nome” e “idade”, na qual estar retornando só a idade. Segue abaixo as partes principais do meu código:

public void commandAction(Command command, Displayable displayable) {

// Insert global pre-action code here

if (displayable == Form1) {

if (command == exitCommand) {

// Insert pre-action code here

exitMIDlet();

// Insert post-action code here

} else if (command == okComm_Gravar) {

open();

<a href="//System.out.println">//System.out.println</a>("-- open");

add(textField1.getString(),textField4.getString());
close();             
           // Do nothing

        } else if (command == C_Pesquisar) {
          open();
            textField2.setString(getRecord(Integer.parseInt(textField3.getString())));
            // Do nothing
            // Insert post-action code here
        } else if (command == C_Deletar) {
            delete(Integer.parseInt(textField3.getString()));
            // Do nothing
            // Insert post-action code here
        }
    }
    // Insert global post-action code here

}

public void open() {

try {

<a href="//rs.deleteRecordStore">//rs.deleteRecordStore</a>(RS_NAME);

rs = RecordStore.openRecordStore(RS_NAME, true);

}

catch (RecordStoreNotFoundException e) {

System.out.println("-- RecordStore inexistente");

}

catch (RecordStoreException e) {

System.out.println("-- Outro erro");

}

}
public void close() {

try {

rs.closeRecordStore();

}

catch (RecordStoreNotOpenException e) {

System.out.println("-- O Record Store esta fechado");

}

catch (RecordStoreException e) {

System.out.println("-- Outro erro");

}

}
public void add(String nome,String idade) {

try {

ByteArrayOutputStream baos = new ByteArrayOutputStream();

DataOutputStream dos = new DataOutputStream(baos);

dos.writeUTF(idade);

dos.writeUTF(nome);

dos.flush();

byte[] data = baos.toByteArray();

int id = rs.addRecord(data, 0, data.length);

//int id = this.getRecordStore().addRecord(this.data,0, data.length);

stringItem1.setText("  "+String.valueOf(id));
baos.close();
  dos.close();
}
catch (IOException e) {
   stringItem1.setText("-- Erro de IO");
}
catch (RecordStoreFullException e) {
  stringItem1.setText("-- Não existe espaço disponível");
}
catch (RecordStoreNotOpenException e) {
  stringItem1.setText("-- O Record Store esta fechado");
}
catch (RecordStoreException e) {
  stringItem1.setText("-- Outro erro");
}

}

public String getRecord(int id) {

String toReturn = “”;

try {

int recordSize = rs.getRecordSize(id);

byte[] data = new byte[recordSize];

ByteArrayInputStream bais = new ByteArrayInputStream(data);

DataInputStream dis = new DataInputStream(bais);

int numBytes = rs.getRecord(id, data, 0);

toReturn = dis.readUTF();

bais.reset();

bais.close();

dis.close();

}

catch (IOException e) {

System.out.println("-- Erro de IO");

}

catch (ArrayIndexOutOfBoundsException e) {

System.out.println("-- Registro muito grande");

}

catch (InvalidRecordIDException e) {

System.out.println("-- ID inexistente");

}

catch (RecordStoreNotOpenException e) {

System.out.println("-- O Record Store esta fechado");

}

catch (RecordStoreException e) {

System.out.println("-- Outro erro");

}

return toReturn;

}

2 Respostas

cherador

cara soh uma sugestão coloca seu codigo entre as tag de code facilita a visualização

tmoreira2020

Savio, tente modelar o teu problema usando a orientação à objetos! Em vez de salvar um nome e uma idade que tal salvar uma pessoa??

public class Pessoa {
  private int idade;
  private String nome;
  ..
}

Já puxando a brasa pra minha sardinha que tal usar o Floggy para persistir?? http://floggy.org

Um abraço!

Thiago Moreira

Criado 24 de julho de 2006
Ultima resposta 14 de out. de 2008
Respostas 2
Participantes 3