ResultSet não volta ao inicio

Dae, pessoal…

Estou tentando fazer uma consulta no banco e até ai tudo bem:

resultSet = statement.executeQuery(sql);

ok, tudo funcionando. Acontece que depois de utilizar o resultset em um while:

while(resultSet.next()){
if (resultSet.getString(“MARCA”).toUpperCase().equals(“GET OVER”)) {
flag = true;
break;
}
}

eu gostaria de voltar o resultset ao inicio… Mas não estou conseguindo… tentei

resultSet.first();

e nao funcionou… Não sei pq e nao sei o que fazer …

Tentei duplicar o resultset para usar um para o while e o outro para a outra operação que preciso mas nao consegui clonar o objeto(gambiarra hehehe)…
Qualquer ideia que algem tiver, pode ser até gambiarra msmo… hehehe

Se alguem puder me dar uma mao…
Brigadao ae pessoal.

vc tentou o

resultSet.beforeFirst() ??

talvez solucione

Algumas funcionalidades JDBC dependem do driver de implementação. Por exemplo, o driver do SQL Server não te permite isso, e vc nem consegue fazer um rs.getInt(“idCliente”) duas vezes que já dá pau.

Qual o banco/driver que vc usa?

Opa…
Cara, estou usando o oracle.jdbc.driver.OracleDriver

Banco oracle…

sera que pode ser isso???

[quote=paulovloghan]vc tentou o

resultSet.beforeFirst() ??

talvez solucione[/quote]

Putz cara… nao rolou… deu o mesmo erro do .first();

java.sql.SQLException: Operação inválida para encaminhar apenas conjunto de resultados: beforeFirst

Não tem como eu clonar o meu resultSet antes de usa-lo?? pq dae eu fico com dois e ja me ajudaria…

abração e valew a atencao ae!

Se alguem ai puder me dar uma ideia
hehehehe
é que eu tenho até amanha pra entrega esses lances prontos…

Vlw.

Coloque o resultado num List, ai vc pode iterar tranquilamente.

List marcas = new ArrayList();
while(rs.next()) {
    marcas.add(rs.getString("MARCA"));
}

for (Iterator iterator = marcas.iterator(); iterator.hasNext();) {
    String marca = (String) iterator.next();
}

Amigo, eu não sei o que pode estar se passando.

Mas dependendo do que você está fazendo, eu vou sugerir um WORKAROUND para você, já que você está com tanta urgência.

Pega os dados do seu ResultSet linha por linha, e armazene em um objeto (minha sugestão, um bean), após isso armazene esse objeto em uma coleção de sua preferência (minha sugestão, um ArrayList).

Depois faça a iteração por essa coleção, assim você pode usar quantas vezes desejar. Sabendo que cada objeto representa uma linha do seu resultset.

qualquer coisa manda aí que eu tento ajudar.

Caraaaaa, mtu obrigado pela ajuda…

Acredito que terei que usar deste artificio hehehehe
não tenho mta experiencia com java… alias nenhuma… entao to quebrando a cabeça pra resolver algumas coisas…

Vou tentar fazer passanto pra um array list…
tens como me ajudar?

o codigo que tenho é este:

[b]<%@ page import=“java.sql.Connection” %>
<%@ page import=“java.sql.ResultSet” %>
<%@ page import=“java.sql.Statement” %>
<%@ page import=“java.sql.DriverManager” %>

<%! Connection connection = null; %>
<%! Statement statement = null;%>
<%! ResultSet resultSet = null;%>
<%! String sql;Boolean flag = false;%>

<%

try{

Class.forName(&quot;oracle.jdbc.driver.OracleDriver&quot;).newInstance();
connection = DriverManager.getConnection(&quot;jdbc:oracle:thin:@db10:1522/ol03dsv&quot;, &quot;RENNERSITE&quot;, &quot;RENATA&quot;);

}catch (Exception e){
out.println("deu erro :S");
}

sql = “SELECT MARCA FROM ITEM WHERE GENERO IN (‘Masculino’, ‘Unissex’) AND GROUP_NO = 327 GROUP BY MARCA ORDER BY MARCA”;

statement = connection.createStatement();
resultSet = statement.executeQuery(sql);[/b]

Depois disso, não sei como faço pra este resultSet, ou voltar para o inicio, ou para clonar ele em outro resultSet ou para colocar o seu resultado em um array list e entao usar o arraylist pra manipular os resultados…

Se puder me dar umas dicas, agradeço!

Mais uma vez obrigado!