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:
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());
Aproveitando o topico do amigo…
eu posso guardar qualquer tipo de objeto no RMS? Tipo… em vez de String usar MeuObjeto…
pode?
Dá uma pesquisada melhor nisso, mas eu acho que não dá não… é só as primitivas que ele te fornece
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…
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