2012-02-08 6 views

risposta

32

Credo che un semplice toString() sarà in gran parte il trucco:

String values[] = {"23","343","33","55","43"}; 
String inClause = values.toString(); 

//at this point inClause will look like "[23,343,33,55,43]" 
//replace the brackets with parentheses 
inClause = inClause.replace("[","("); 
inClause = inClause.replace("]",")"); 

//now inClause will look like "(23,343,33,55,43)" so use it to construct your SELECT 
String select = "select * from table_name where id in " + inClause; 
+0

10X, Funziona :) –

+1

Se alcuni dei vostri valori provengono da input dell'utente si sono aperti a possibili attacchi di SQL injection o almeno si blocca. Dovresti esaminare 'DatabaseUtils.html # sqlEscapeString (java.lang.String)' e le funzioni correlate prima di inserire l'input dell'utente in istruzioni sql. – satur9nine

+1

Dovresti essere sicuro che nessuno dei tuoi valori contenga [o] prima di fare questo sostituisci. Un modo migliore sarebbe quello di prendere la sottostringa tra il primo e l'ultimo carattere e avvolgerla in (e) – SDJMcHattie

Problemi correlati