Я должен выполнить запрос к БД, где, поскольку одно из переданных значений является массивом, который я использовал StringUtils.join(array, "','")
Вот как я его реализовал, этот код является частью серверной части веб-службы
public String medico(int age, String sexstr, String etniastr, String[] sintom) {
String tes=StringUtils.join(sintom, "','");
String ris = "no";
String q;
String errore = connetti();
try {
if (errore.equals("")) {
Statement st = conn.createStatement();
//ESECUZIONE QUERY
q = "SELECT DISTINCT nome FROM malattia WHERE eta='" + age + "' AND sesso='" + sexstr + "' AND etnia='" + etniastr + "' AND sintomi IN('tes')";
ResultSet rs = st.executeQuery(q);
if (!rs.last()) {
ris = "no";
} else {
ris = "si";
}
} else {
ris = errore;
}
conn.close();
} catch (Exception e) {
ris = e.toString();
}
return ris;
}
Кажется, проблема в том, как я передаю tes , когда я передаю его так, как написано, выдается ошибка 500 (внутренняя ошибка сервера), когда я меняю ее на:
..... sintomi IN('"+tes+"')";
Это дает мне ноль строк, даже если соответствующие данные существуют в БД
, как правильно решить эту проблему?Заранее спасибо.