RMS - Qual a melhor opção?

5 respostas
Gizelma

Bem quando for usar o rms eu ó posso agrecar um valor a cada index, é isso mesmo???
Se eu quiser simular uma tabela com varios campos, é melhor eu colocar todos em um mesmorms, como se fosse uma string enorme e quando for usar uso o subString pra pegar cada valor ou criar um para cada “campo”, tipo, rsCliente, rsMedidor … e acessa-los atraves do index??
Como é mais usado?
:roll:

5 Respostas

P

você pode e deve usar o fluxo de dados nesse caso…

Ex:

strmOutputBytes = new ByteArrayOutputStream();
                strmOutputDataTypes = new DataOutputStream(strmOutputBytes);
                produto = (String[])produtos.elementAt(i);
                strmOutputDataTypes.writeUTF(produto[0]);
                strmOutputDataTypes.writeUTF(produto[1]);
                strmOutputDataTypes.writeUTF(produto[2]);
                strmOutputDataTypes.writeUTF(produto[3]);
                strmOutputDataTypes.writeUTF(produto[4]);
                strmOutputDataTypes.writeUTF(produto[5]);
                strmOutputDataTypes.writeUTF(produto[6]);
                strmOutputDataTypes.writeUTF(produto[7]);
                strmOutputDataTypes.writeUTF(produto[8]);
                strmOutputDataTypes.writeUTF(produto[9]);
                strmOutputDataTypes.writeUTF(produto[10]);
                strmOutputDataTypes.flush();
                record = strmOutputBytes.toByteArray();
                rsProduto.addRecord(record, 0, record.length);

como você viu dá para se gravar os dados com uma divisão lógica… e pra ler é a mesma coisa

reProduto = rsProduto.enumerateRecords(search, null, false); percento = reProduto.nextRecordId(); byte[] recData = new byte[rsProduto.getRecordSize(percento)]; strmInputBytes = new ByteArrayInputStream(recData); strmInputDataTypes = new DataInputStream(strmInputBytes); rsProduto.getRecord(percento, recData, 0); strmInputDataTypes.readUTF(); strmInputDataTypes.readUTF(); strmInputDataTypes.readUTF(); strmInputDataTypes.readUTF(); strmInputDataTypes.readUTF(); strmInputDataTypes.readUTF(); strmInputDataTypes.readUTF(); siItemPedDescMax.setText(strmInputDataTypes.readUTF());

J

Aproveitando o topico do amigo…
eu posso guardar qualquer tipo de objeto no RMS? Tipo… em vez de String usar MeuObjeto…
pode?

P

Dá uma pesquisada melhor nisso, mas eu acho que não dá não… é só as primitivas que ele te fornece

J

ja q o RMS trabalha com um ID e um array de bytes… acho q poderia…
pq aih era soh transformar pra um array de bytes…

aborges

Nao acho uma boa opcao armazenar objetos utilizando RMS pelos seguintes motivos:

:arrow: Ocupa memoria demais ( levando-se em conta dispositivos como celulares e até mesmo Palms! ) o que pode dar um um estouro em seu heap!

:arrow: Seria lento demais de carregar, levando-se em conta a capacidade de processamento dos dispositivos!

Caso o q vc esteja querendo armazenar seja um bean, acho mais aconselhavel vc gravar apenas seus valores. Na hora de ler, vc simplismente instancia o danado carrega suas propriedades :wink:

Criado 1 de novembro de 2004
Ultima resposta 3 de nov. de 2004
Respostas 5
Participantes 4