Posicionar em registro

4 respostas
R

Estou com uma dúvida bem básica.

Tem como definir o registro atual para continuar listando os seguintes com o .next()? Tipo, fazer uma listagem a partir do registro 5?

Estou fazendo uma paginação em uma página jsp e usando SELECT TOP n para selecionar a quantidade de registros em um db SQLSERVER com base na página atual, mas como o SQL está retornando os n primeiros.
Daí preciso definir a posição inicial de listagem para a tabela.

Aí vai parte do código:

if (bolPaginas){
				intTotal = intPaginaAtual * intLinhas;
				strSQL = "SELECT TOP "+intTotal+" "+strSQL;
			}else{
				strSQL = "SELECT "+strSQL;
			}
						
			try{
				Tabela = metodo.RetornaTable(strSQL);
		
				
				while (Tabela.next()){
					//Botões de exclusão e alteração
					saida.append("	<tr>\n");

Preciso definir através de qual registro deve ser iniciado o .next(). Tem algum método do ResultSet que faça isso?

4 Respostas

J

Oi

rashi, se eu não me engano o ResultSet é uma lista encadeada, por isso não tem como tu ir direto pra uma posição, tem que ir passando uma por uma com o next()…

ps.: Se fosse com o MySQl era só a cláusulla LIMIT x,y que estava tudo resolvido…

T+

R

Pois eh, neh, mas me mandaram fazer com o SQLServer. Agora tenho que aguentar :stuck_out_tongue:

:galera:

M

Cara eu nao bem o q vc quer mas voce pode trabalhar com o ResultSet dessa maneira:

rs.last();  //vai com o ponteiro para o ultimo registro
    int reg=rs.getRow()  //informa o numero de registro contido no objeto

e por ai vai…eu acho q com da pra encaixar na sua logica…qquer coisa posta de novo

Ate mais…

M

Ontem eu tava na correria, mas agora eu achei o link q tem um bom tutorial sobre ResultSet:

http://java.sun.com/docs/books/tutorial/jdbc/jdbc2dot0/cursor.html

Criado 30 de março de 2004
Ultima resposta 31 de mar. de 2004
Respostas 4
Participantes 3