Bom dia a todos, estou com um problema em meu codigo na hora de fazer update, tenho uma classe UsuarioDAO, com o metodo para fazer este update, e uma classe GenericDAO, que tem o metodo que deveria realizar este comando, abaixo os trechos com problemas:
Metodo da classe UsuarioDAO
public void atualizarUsuario(Usuario usuario) throws SQLException{
String query = "UPDATE petshop.usuario SET Nome = '?', Login = '?', Senha = '?', WHERE Id = '?'";
executeCommand(query, usuario.getNome(),usuario.getLogin(),usuario.getSenha(),usuario.getId());
}
Metodo da classe GenericDAO
public Object executeCommand(String query, Object... params )throws SQLException{
PreparedStatement ps = getStatement(query);
for (int i = 0; i < params.length; i++) {
ps.setObject(i + 1, params[i]);
}
return ps.executeUpdate();
}
Estou executando teste e ao tentar atualizar a tabela me retorna a seguinte excecao:
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
Primeiro não usei aspas simples nas interrogações, mas neste caso dava erro de sintaxe, quando coloco as aspas simples lança a exceção que mencionei, os outros métodos, inserir, remover e pegar os usuários do banco funcionam perfeitamente, agradeço desde já qualquer ajuda. Abraco.