é o seguinte, eu tenho um arraylist q contem um numero x de valores, e estou usando um for para fazer uma consulta de cada valor um por um, e ir colocando o resultset na jtable com o metodo addrow, porem esta dando esse erro "[color=red]SQLException: Operação inválida na posição corrente do cursor.[/color]",
sendo que eu coloquei um print para teste, e o print retorna os valores da arraylist normalmente, segue o codigo…
con = DriverManager.getConnection("jdbc:derby://localhost/bancodados","root", "pass");
stmt = con.createStatement();
//livros eh minha arraylist, que ja esta com os valores
for(int i = 0; i < livros.size(); i++){
System.out.println("livro n. "+i+" id "+livros.get(i));
ResultSet rs = stmt.executeQuery("select id, cdd, titulo, autor from app.livro where id="+livros.get(i)+"");
String[] colunasTabela = new String[]{"ID", "CDD"};
DefaultTableModel modelo = new DefaultTableModel(null,colunasTabela){
public boolean isCellEditable (int row, int col){
return false;
}
};
Telas.Menu.tabelaRetorno.setModel(modelo);
modelo.addRow(new Object[]{
Integer.toString(rs.getInt("id")),
Integer.toString(rs.getInt("cdd"))}
);
}
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
}[/code]
entao esse livros.get(i) no select, serve para consultar na tabela livro a id q estiver na posicao i da arraylist e colocar os dados encontrados na tabela
por exemplo quando i for 0, ele vai fazer o select com o valor q estiver na posicao 0 da arraylist e assim sucessivamente
Faz assim…
Coloca um break point na primeira linha desse seu código, e manda depurar…
Ae vai abaixando linha por linha, até ver em que linha q está dando o erro… Ae depois vc posta qual é aki…