CachedRowSetImpl - Ajuda por Favor

2 respostas
D
Pessoal eu tenho um objeto CachedRowSetImpl, e nele através do método populate coloco vários ResultSets.

por exemplor:

ResultSet r1 = stmt.executeQuery(select * from usuarios) //Digamos banco de dados 1

cahedRow.populate(r1);

ResultSet r2 = stmt2.executeQuery(select * from usuarios) //Digamos banco de dados 2

cahedRow.populate(r2);

o que acontece é que digamos que r1 possua 3 registros e r2 20

o cachedRow fica com apenas 20 (Alguém acredita?, e o pior fica com os 3 registros de r1 e 17 de r2 :shock: )
já olhei pra ver se tinha mais de uma página, mas não tem. Utilizo o método size() e ele me retorna somente 20 registros. Alguém já teve esse problema? sabem o q poderia esta acontecendo de errado. Detalhe antes de executar o r2 eu fecho a conexão de r1. E r1 e r2 buscam conteúdo em banco distintos, r1 Mysql, r2 postgre. Agradeço a colaboração.

2 Respostas

B

Leia o tópico 10.0 desta página:

http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/rowset/CachedRowSet.html

Edit: Como a capacidade desse CachedRowSet é baseado na memória disponível para a JVM, é capaz que você já esteja no máximo.

D

Imaginei isso, mas tbém ocorre se r1 tiver 3 registros e r2 4 o cahedRowSet fica com 4 registros sendo os 3 de r1 e 1 registro de r2, ou seja, o tamanho dele fica sempre limitado pelo segundo resultSet que eu coloco no cached. Alguém sugere algo pra resolver essa limitação? grato

CachedRowSetImpl()
Constructs a new default CachedRowSetImpl object with the capacity to hold 100 rows.
por default a capacidade vem de 100 linhas

Criado 28 de abril de 2008
Ultima resposta 29 de abr. de 2008
Respostas 2
Participantes 2