Apagar registro

10 respostas
Babby

ola galera
sou iniciante em jme e
estou com um problema

tenho varias inforamacoes em uma lista
e quero apagar apenas uma mas quando mando
apagar (o item selecionado) ele apaga a lista toda

sera que alguem pode me ajudar ??

private void deletar() {
    try{
int indice = list.getSelectedIndex();

rs.deleteRecord(Integer.parseInt(vetIds.elementAt(indice).toString()));

}

catch(Exception erro){

System.out.println(nao foi possivel deletar o registro);

}

}

10 Respostas

S

E vc esta tentando apagar um registro no RecordStore do celular ou na list?
O post nao ficou claro.
Mas pelo codigo que vc esta mostrando eh no recordstore.

Babby

sim, é no RecordStore que eu quero apagar
mas quando eu quero apagar apenas um
ele apaga a lista toda

vc sabe o q esta de errado no meu codigo?

S

Sim.
Pq na hr de gravar vc deve ter gravado todos os bytes no mesmo lugar do RecordStore.
RecordStore eh uma chatisse e complicacado.

Kd seu metodo grava?

Babby
public void insereDado(){
try{
ByteArrayOutputStream bStream = new ByteArrayOutputStream();
DataOutputStream dStream = new DataOutputStream(bStream);  
dStream.writeUTF(tfNome.getString());
dStream.writeUTF(tfFone.getString());
dStream.writeUTF(tfIdade.getString());
dStream.writeUTF(tfProfissao.getString());
dStream.flush();
 byte[] dados = bStream.toByteArray();
        rs.addRecord(dados, 0, dados.length);         
        bStream.close();
        dStream.close();    
}
catch(Exception erro){
    System.out.println("Erro ao inserir dados...");    
}

}

o metodo q grava e esse
nao sei se ta certo…

S

A confusao logica eh o seguinte. Aposto que na sua classe ai de persistencia vc fez isso aqui.

RecordStore recordStore = RecordStore.openRecordStore(nome, true);

Dai, vc foi no metodo grava, nesse unico recordStore e deu addRecord.

So qi UM recordStore eh uma colecao de bytes.

Logo, qndo vc deu deleteRecord e um ID, vc deletou O recordStore com todos os seus bytes.

Para funcionar do jeito que vc quer, vc tem que abrir um recordStore pra cada registro ou

  1. Abra o recordStore
  2. Recupere os dados dele
  3. Para cada dado que vc quer deletar vc marca uma flag nele e pode gravar por cima.

Eh um controle mto chato de fazer.

Mas o seu erro ai eh isso.

Babby

ok… vou tentar entender como fazer

obrigado pela ajuda

pelo menos agora eu sei
o que e que esta errado…

tmoreira2020

Já tentasse usar o Floggy??

Um abraco!

Babby

Nao, infelismente nao,…
mas assisti a uma palestra sua sobre isso
no ano passado e
achei muito interessante.

S

Pra mim ne chato nao hehehe…
Eu ja fiz meu framework com classe de util para RMS entao eh facil…
Mas pra quem ta comecando pegar Floggy nunca + volta pra RMS

Babby

axo que vou tentar com floggy…

Criado 5 de fevereiro de 2009
Ultima resposta 6 de fev. de 2009
Respostas 10
Participantes 3