Bonjour à tous,

Je voudrais passer une liste de string dans un preparedstatement. J'ai trouvé des solutions sur le web pour des listes d'integer mais pas de string.

En gros je voudrais faire un truc du style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
List list = new Vector();
list.add("thierry");
list.add("Julien");
//etc.
 
String sql = "SELECT * FROM user WHERE prenom IN (?) ";
 
//...
 
stmt.setListOf(1, list);
Mon soucis c'est que si je fais le code suivant, alors les quote sont doublées...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
String s = list.toString() ;
s = s.replace("[","'");
s = s.replace("]","'");
s = s.replace(", ", ",");
s = s.replace(",", "','");
stmt.setString(1, s);
Si quelqu'un a une idée ...


PS : Comment voit-on le SQL généré ?