Подтвердить что ты не робот

Как избежать одиночной кавычки в sql, которая приводит к тому, что строка с кавычками не заканчивается должным образом?

Я пытаюсь читать термины из базы данных ( > 10K), и я использую этот термин в другом запросе. Я получаю следующую ошибку в Oracle:

цитированная строка не была правильно завершена '

Я сделал

term.replaceAll("'", "\\'");

но это, похоже, не выполняет эту работу от меня. Кроме того, эти термины являются токенами из документов, когда они преобразуются в текст. Существует ли регулярное выражение, которое может решить эту проблему?

Точный запрос SQL:

String sql = "Select * from indexDB where (DocID=" + d.getDocId() + "and Term='" + term + "')";

Я использую Java. Замена не работает для меня.

4b9b3361

Ответ 1

Вы можете избежать одиночной цитаты, повторив ее:

term.replaceAll("'","''");

Еще лучший вариант - это параметризованный запрос. Например, мы должны знать ваш язык клиента.