Есть большой класс в котором реализована работа с базой (методы с SQL запросами). Как выяснилось, недавно, если в эти запросы вставить строку с бекслешем "\" как параметром — запрос корректно не отработает. На данный момент есть самое простое "индийское" решение написать свой метод, который заменял бы один бекслеш на два (таким образом запрос отрабатывает нормально). Но повторюсь класс очень большой, и метод этот прийдеться исспользовать для каждого стрингового параметра. Может есть какие-то решения проще и красивее?
Здравствуйте, Kain81, Вы писали:
K>Есть большой класс в котором реализована работа с базой (методы с SQL запросами). Как выяснилось, недавно, если в эти запросы вставить строку с бекслешем "\" как параметром — запрос корректно не отработает. На данный момент есть самое простое "индийское" решение написать свой метод, который заменял бы один бекслеш на два (таким образом запрос отрабатывает нормально). Но повторюсь класс очень большой, и метод этот прийдеться исспользовать для каждого стрингового параметра. Может есть какие-то решения проще и красивее?
Заменить конкатенацию на использование PreparedStatement.
Здравствуйте, Blazkowicz, Вы писали:
B>Заменить конкатенацию на использование PreparedStatement.
Это первое, что попробовал сделать — для insert-ов — работает нормально — заносит в базу, но для delete-ов и select-ов отказывается корректно работать.
Здравствуйте, Blazkowicz, Вы писали:
K>>но для delete-ов и select-ов отказывается корректно работать. B>Чем аргументирует?
Нашел в чем проблема была — на сервере крутилось 3 еара в каждом из них была библиотека с этим классом. О PreparedStatement и слышать не хотело, пока библиотеку во всех еарах не поменял. Зато после замены библиотеки — работает как надо.
Спасибо.