bonjour,
j ai une requete de ce type :
comment on peux alimenter le champs in , en utilisant un vector pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select .... from ... where id in (?)
Cordialmen
bonjour,
j ai une requete de ce type :
comment on peux alimenter le champs in , en utilisant un vector pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select .... from ... where id in (?)
Cordialmen
Java fun is back
je dis ça au pif mais en créant un String 'val1','val2' ... par exemple. Et apres de faire appel à setString ...
Qu'as tu essayé pour l'instant ?
Quels sont les problèmes que tu rencontre ?
"If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"
Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/
Salut.
La réponse au pif ne marchera pas malheureusement. En effet, Le ? va être remplacé par 'val1', 'val2, 'val3' mais comme par défaut le driver echape les caractères, cela donnera:
Ce qui évidemment n'est pas ce que tu recherche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ... IN ('''val1'', ''val2'', ''val3''')
La seulle méthode que je connaisse est celle-ci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 // En admettant que tu as tes valeurs dans un object List par exemple List<String> bindVars = new ArrayList<String>(); bindVars.add("val1"); bindVars.add("val2"); ... // tu peux faire ainsi: String sql = "select ... where ... IN ("; // préparation de la requête for ( int i = 0; i < bindVars.size(); i++ ) { if ( i > 0 ) sql += ", "; sql += "?"; } sql += ")"; stmt = conn.preparedStatement(sql); // on bind... for ( int i = 0; i < bindVars.size() ; i++ ) { stmt.setString(i + 1, bindVars.get(i)); } // et on éxécute stmt.execute...
Voilà. Il y a peut-être une autre méthode, mais en tout cas celle-ci marche ;-)
@+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager