ResultSet

3 respostas
C

Estou tendo problemas com o seguinte pedaço de programa:

rs = statement.executeQuery(query);

while (rs.next())

{

valor1 = rs.getInt(codpoli);

valor = getCandidato(valor1);

listcand.addElement(valor);

}

…
public String getCandidato(int codigo)

{

String query = "select nome from politico where codpoli = " + codigo;

ResultSet rs1 = null;

String resultado = new String();

try

{

rs1 = statement.executeQuery(query);

rs1.next();

resultado = rs1.getString(nome);

}

catch (Exception e)

{

System.out.println(e.getMessage());

}

return resultado;

}

O primeiro ResultSet tem várias linhas mas a primeira linha é pega. Quando executa, aparece a seguinte mnesgame de erro:

Error: 500
Internal Servlet Error:

java.lang.VerifyError: (class: interbase/interclient/ErrorKey, method: _$372 signature: (Ljava/lang/String;Ljava/lang/String;I)V) Expecting to find unitialized object on stack

at interbase.interclient.ResultSet.checkForClosedCursor(ResultSet.java:372)

at interbase.interclient.ResultSet.next(ResultSet.java:296)

at ListaEleicaoGeral.doPost(ListaEleicaoGeral.java:144)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)

at com.sun.web.core.ServletWrapper.handleRequest(ServletWrapper.java:155)

at com.sun.web.core.InvokerServlet.service(InvokerServlet.java:168)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)

at com.sun.web.core.ServletWrapper.handleRequest(ServletWrapper.java:155)

at com.sun.web.core.Context.handleRequest(Context.java:414)

at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:139)

Onde estou errando ?

3 Respostas

ozielneto

Voce nao pode compartilhar o mesmo statement para dois resultsets diferentes…

Sugiro voce redesenhar essa camada de acesso…

[]'s

dsiviotti

Eu testei esse código com connection e statement estáticos e não deu erro. Mesmo usando o mesmo statement para dois resultsets.

C

Era isto. Faltava um ststement. Obrigado

Criado 15 de fevereiro de 2004
Ultima resposta 16 de fev. de 2004
Respostas 3
Participantes 3