2012-02-08 12 views

Respuesta

32

creo que un simple toString() en su mayoría hacer el truco:

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, funciona :) –

+1

Si algunos de sus valores provienen de entrada de usuario que está abierto a posibles ataques de inyección SQL o al menos accidentes. Debería mirar 'DatabaseUtils.html # sqlEscapeString (java.lang.String)' y las funciones relacionadas antes de poner la entrada del usuario en sentencias sql. – satur9nine

+1

Debe asegurarse de que ninguno de sus valores contenga [o] antes de hacer esto reemplazar. Una forma mejor sería tomar la subcadena entre el primer y el último caracteres y envolverla en (y) – SDJMcHattie

Cuestiones relacionadas