Здравствуйте, Аноним, Вы писали:
А>Здравствуйте.
А>Столкнулся со следующей проблемой. А>Есть sql-запрос типа А>select... А>from... А>where field in(?) А>order by... А>так вот, при передаче в качестве второго параметры строки типа "A,B,C" строка парсится и проверяется только вхождение 'A', а наличии 'B' и 'C' игнорируются. А>Загвоздка в том что заранее количество параметров для условия IN неизвестно по этому поставить определенное количество ? нельзя. А>Может кто сталкивался с такой задачей, подскажите, пожалуйста. А>P.S. использую PreparedStatement
В связи с тем, что preparedstatement-ы на уровне БД не дают возможности в in менять количество параметров, то и jdbc это не поддерживает. Нужно генерировать запрос вручную (конечно при этом пропадают преимущества производительности preparedstatement-ов). Ещё есть вариант для упрощения програмирования (проблема со скоростью остаётся) использовать hibernate. В нём можно в условие in передавать сразу коллекцию.