я пытаюсь сделать выбор:Индекс параметров вне диапазона MySQL PreparedStatement?
1
A
ответ
2
Try это так:
preparedStatement = connection.prepareStatement(sqlCompetition);
preparedStatement.setInt(...);
Я думаю, у вас есть еще старое заявление в переменной
1
Вы создаете PrepareStatement
на line number 212
, но вы не назначаете переменную prepareStatement
, то есть переменная prepareStatement
по-прежнему хранит старый объект.
В line number 213
вы используете метод setInt()
, он будет называть старый объект. Кажется, что ваш старый объект содержит каких-либо держателей мест, из-за этой причины вы получили Parameter index out of range exception
.
Присвоить вновь созданный объект PreparedStatement
переменной prepareStatement
переменной line number 212
для решения проблемы.
Я думаю, что параметр не передает ничего в вашем sql '?' не заменила никакой ценности. Из-за этого вы получили эту ошибку. просто заменить '?' со значением, а затем проверить, что выполняется или нет. –