SQL erro

2 respostas Resolvido
mysqlsql
LordWooFakFak

Estou com o seguinte erro: ```
java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2)

A exceção está me apontando bem aqui: stm.setString(3, orgao.getTipo());

public void atualizar(Orgao orgao) {
	String sqlUpdate = "UPDATE orgao SET quantidade=? WHERE id_orgao=?";
	try (Connection conn = ConnectionFactory.abrirConexao();
		PreparedStatement stm = conn.prepareStatement(sqlUpdate);) {
		stm.setInt(1, orgao.getIdHospital());
		stm.setInt(2, orgao.getQuantidade());
		stm.setString(3, orgao.getTipo());
		stm.setInt(4, orgao.getIdOrgao());
		stm.execute();
	} catch (Exception e) {
		e.printStackTrace();
	}
}

2 Respostas

TerraSkilll
Solucao aceita

Seu update só tem 2 parâmetros (dois pontos de interrogação), mas você está passando 4 para o statement. Ajuste o update ou remova os parâmetros extras.

Abraço.

LordWooFakFak

Hm não tinha reparado nisso, muito obrigado.

Abraços.

Criado 7 de junho de 2020
Ultima resposta 7 de jun. de 2020
Respostas 2
Participantes 2