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();
//System.out.println("-- 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 {
//rs.deleteRecordStore(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;
}