Вопрос состоит в том что я хочу правильно оформить запрос, да бы не допустить в будущем SQL-инъекций но что-то не получается, помогите разобраться, делаю следующим образом:
String query="Select * from tab where date between to_date(? , 'dd.mm.yyyy HH24:mi') and to_date('17.10.17 7:00', 'dd.mm.yy HH24:mi')"
PreparedStatement ps = connection.prepareStatement(query);
String test = "'" + datestart +" 22:00'";
ps.setString(1, test);
resultSets= ps.executeQuery(query);
while (resultSets.next())
{
Roll roll = new Roll();
roll.setNumbern(resultSets.getInt(1));
roll.setRollnum(resultSets.getInt(3));
roll.setShift(resultSets.getInt(20));
}
Ну и наполняю List нужными мне данными для отображения. Но запрос не проходит, получаю ошибку:
Exception : ORA-03115: неподдерживаемый сетевой тип данных или представление данных
Либо
Exception : ORA-01858: вместо ожидаемой цифры обнаружен нецифровой символ
помогите пожалуйста разобраться. Спасибо
для метода setString
интерфейса PreparedStatement
не надо добавлять апостроф ('
) в строку.
Замените
String test = "'" + datestart +" 22:00'";
на
String test = "datestart +" 22:00";
и код заработает.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как в spring data jpa бороться с дубликатами? Например мне нужно сохранить профиль с листом тегов и со связью многие ко многимПри сохранении отдельно...
Как преобразовать xml конфигурацию в webxml в java class?
В проекте есть макеры и кластерыНужно чтобы работало нажатие у обоих