Зафиксить sql запросы с бекслешем
От: Kain81 Украина  
Дата: 02.07.08 09:12
Оценка:
Здравствуйте.

Есть большой класс в котором реализована работа с базой (методы с SQL запросами). Как выяснилось, недавно, если в эти запросы вставить строку с бекслешем "\" как параметром — запрос корректно не отработает. На данный момент есть самое простое "индийское" решение написать свой метод, который заменял бы один бекслеш на два (таким образом запрос отрабатывает нормально). Но повторюсь класс очень большой, и метод этот прийдеться исспользовать для каждого стрингового параметра. Может есть какие-то решения проще и красивее?

Заранее спасибо.
Re: Зафиксить sql запросы с бекслешем
От: Blazkowicz Россия  
Дата: 02.07.08 09:20
Оценка: 3 (1)
Здравствуйте, Kain81, Вы писали:

K>Есть большой класс в котором реализована работа с базой (методы с SQL запросами). Как выяснилось, недавно, если в эти запросы вставить строку с бекслешем "\" как параметром — запрос корректно не отработает. На данный момент есть самое простое "индийское" решение написать свой метод, который заменял бы один бекслеш на два (таким образом запрос отрабатывает нормально). Но повторюсь класс очень большой, и метод этот прийдеться исспользовать для каждого стрингового параметра. Может есть какие-то решения проще и красивее?


Заменить конкатенацию на использование PreparedStatement.
Re[2]: Зафиксить sql запросы с бекслешем
От: Kain81 Украина  
Дата: 02.07.08 09:34
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Заменить конкатенацию на использование PreparedStatement.

Это первое, что попробовал сделать — для insert-ов — работает нормально — заносит в базу, но для delete-ов и select-ов отказывается корректно работать.
Re[3]: Зафиксить sql запросы с бекслешем
От: Blazkowicz Россия  
Дата: 02.07.08 09:37
Оценка:
Здравствуйте, Kain81, Вы писали:

K>но для delete-ов и select-ов отказывается корректно работать.

Чем аргументирует?
Re[4]: Зафиксить sql запросы с бекслешем
От: Kain81 Украина  
Дата: 02.07.08 13:57
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

K>>но для delete-ов и select-ов отказывается корректно работать.

B>Чем аргументирует?

Нашел в чем проблема была — на сервере крутилось 3 еара в каждом из них была библиотека с этим классом. О PreparedStatement и слышать не хотело, пока библиотеку во всех еарах не поменял. Зато после замены библиотеки — работает как надо.
Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.