E o resultset no PostgreSQL não é um resultset rolável, rs.last(), rs.first(), ele apenas permite (pelo q sei) rs.next()
obs: Firebird trabalha com essa rolagem
[]'s
J
Jair_Rillo_Junior
O Driver JDBC do PostgreSQL que você está usando não aceita você ir até o final e depois voltar para o primeiro registro (rs.first() ), isso é um problema do Driver. Você pode procurar outro driver ou outra solução, me desculpe mas eu nunca trabalhei com PostgreSQL
Encontrei os seguintes links interessantes, dentre eles:
[url=http://javaalmanac.com/egs/java.sql/GetRow.html]Getting the Number of Rows in a Table Using a Scrollable Result Set[url]
Mas a idéia é criar um “Scrollable ResultSet”, assim:
Jah tentei passar esses argumentos pro construtor do ResultSet, mas ai ele nem exibe o resultado… mt estranho. Eu precisaria do numero de linhas pra criar um Object[][] para ser exibido numa JTable. Mas imagino que o mais recomendavel a se fazer eh usar um ArrayList ou algo do tipo.
O ResultSet tem um metodo getArray(int arg0) que retorna uma linha da consulta em Array. Jah tentei associar a um indice do arraylist mas nao funciona… nao sei pq…
F
fcoury
Cara,
Acho que o único jeito para solucionar isso é fazer by the old way de fazer um COUNT(*) e depois fazer o SELECT completo. Para garantir que nada vai mudar entre os dois vc pode usar uma transação.
Que tal?
Abraços!
A
adrianostanley
Pois eh… acabei usando o COUNT…
Eu imaginei q viesse uma funcao que retornasse o numero de linhas!!! Igual ao PHP, etc… mas eh isso ae…
só que statement tem que ser criado desta maneira:
Sempre funcionou para mim…
J
jgbt
so p/ esclarecer:
esses codigos que criam um ResultSet navegavel em ambos os sentidos SOMENTE vão funcionar se o DRIVER JDBC implementar essas funcionalidades.
A API jdbc java é baseada em interfaces, os fabricantes de BD são quem implemetam as funcionalidades…