boa noite tenho uma aplicacao que esta inserindo no banco de dados ate ai td bem
porem quando eu vo pesquisar no banco o codigo 10 ou um codigo maior que tenho cadastrado la me da esse erro no console
java.sql.SQLException: Column Index out of range, 10 > 8.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.checkColumnBounds(ResultSet.java:690)
at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:2621)
at materialDAO.MatDao.consultar_materialtiagoalves(MatDao.java:71)
at materialBO.MatBo.consultar_materialtiagoalves(MatBo.java:20)
at materialFACADE.MatFacade.consultar_materialtiagoalves(MatFacade.java:19)
at materialCONTROLE.MatControle.main(MatControle.java:28)
isso msmo yhhik
com ele ta passando o inteiro q é 10, a consulta ta tentando retornar o 10º campo da tabela q n existe.
por isso estoura o erro Fora do alcance do índice
[quote=jeffepalmares]danilovicente não pode ser assim pois o metodo
consultar_materialtiagoalves(cdMat)
recebe como parâmetro o código do material a ser buscado
e não o campo da tabela a ser buscado.
para resolver o problema dele
rs.getInt()
ou ele passa a string com o nome do campo ou ele passa o índice do campo da tabela
que se refere ao campo desejado.[/quote]
Mas como ele vai pergar o rs.getInt, se ele ainda não fez a consulta ao banco e sim está passando o valor do código a pegar, eu passei o 8 como um exemplo apenas para testar.
o metodo getInt() irá retornar um inteiro baseado no parametro passado que pode ser uma:
String - o nome da coluna
int - o indice da coluna
vc esta passando neste caso uma varialvel do tipo int com o valor 10. O erro ocorre pois sua tabela não possui 10 colunas.
Acho que neste momento sua intenção era busca o nome da coluna sendo assim: