2012-02-08 13 views

Odpowiedz

32

wierzę prosty toString() będzie głównie rade:

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, to działa :) –

+1

Jeżeli któraś z wartości pochodzą z danych wejściowych użytkownika jesteś otwarty na ewentualne ataki SQL injection lub co najmniej wypadków. Powinieneś przyjrzeć się 'DatabaseUtils.html # sqlEscapeString (java.lang.String)' i powiązanym funkcjom przed wprowadzeniem danych użytkownika do instrukcji sql. – satur9nine

+1

Należy upewnić się, że żadna z wartości nie zawiera wartości [lub] przed dokonaniem tej zamiany. Lepszym sposobem byłoby pobranie podciągu między pierwszym a ostatnim znakiem i zawijanie w (i) – SDJMcHattie

Powiązane problemy