- Баллы
- 21
У меня при установке параметра типа массив строк не отрабатывает.
на строке System.out.println(statement.toString()) я получаю в консоль
"UPDATE arena SET status='BATTLE' WHERE status = 'WAIT' and player in (?)"
Делал System.out.println(array.toString()) и видно было что это нужный массив.
Не понимаю, что не так.
на строке System.out.println(statement.toString()) я получаю в консоль
"UPDATE arena SET status='BATTLE' WHERE status = 'WAIT' and player in (?)"
Делал System.out.println(array.toString()) и видно было что это нужный массив.
Не понимаю, что не так.
Код:
public void setBattleMode(String[] fighters) {
Array array = null;
try {
array = this.connection.createArrayOf("VARCHAR", fighters);
} catch (SQLException e1) {
e1.printStackTrace();
}
try (PreparedStatement statement = this.connection.prepareStatement(
"UPDATE arena SET status='BATTLE' WHERE status = 'WAIT' and player in (?)")) {
statement.setArray(1, array);
System.out.println(statement.toString());
statement.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}