While com ResultSet

3 respostas
fabio_cabral

ola, estou com uma dificuldade com o Resultset, que é o seguinte…
(eu consigo inserir no banco mas nao consigo pesquisar)
tenho em uma classe CtrlBD um metodo que retorna um ResultSet…



public static ResultSet conBD(String query) {

try{

Class.forName(com.mysql.jdbc.Driver);

conn = DriverManager.getConnection(url, username, password);

prepStmt = conn.prepareStatement(query);

res = prepStmt.executeQuery();

prepStmt.close();

conn.close();

}catch(SQLException sqlex){ System.out.println("Erro query: "+ sqlex);

}catch(ClassNotFoundException cnfex){ System.out.println("nao carregou o driver "+ cnfex);

}

return res;

}

a minha dificuldade é na hora de usar esse metodo…

public Dispositivo pesq(String ip)

{

Dispositivo objDispositivo = new Dispositivo();

String query = select * from dispositivo where ip = '”+ip+"’;";

CtrlBD objBD = new CtrlBD();

ResultSet res = objBD.conBD(query);

int i = 0;

System.out.println(res);
try{

while(res.next())

{

Dispositivo objDisp = new Dispositivo();

objDisp.setAll(res.getString(1),res.getString(2),res.getString(3),res.getString(4),res.getString(5));

objDispositivo.dispositivo.clear(); //(.dispositivo é um vector)

objDispositivo.dispositivo.add(i, objDisp);

i++;

}

}catch(SQLException sqlex){ System.out.println("CtrlPesquisaDispositivo: "+sqlex);

}

return objDispositivo;

}

nesse metodo sempre esta caindo no SQLException, o erro q retorna é o seguinte:

CtrlPesquisaDispositivo: java.sql.SQLException: Operation not allowed after ResultSet closed

3 Respostas

foia

dicas,

1 - use a tag [code] para deixar a tua msg bonitona :mrgreen: ;
2 - qdo vc fecha o statement fecha o resultset;
3 - não é legal retornar resultset num método.

keller

Você está fechando o ResultSet…
ai não vai rolar…

prepStmt.close();

gui. :wink:

fabio_cabral

obrigado pessoal… mas nao fui muito longe agora o erro é este:

CtrlPesquisaDispositivo: java.sql.SQLException: Before start of result set

Criado 15 de junho de 2005
Ultima resposta 15 de jun. de 2005
Respostas 3
Participantes 3