2010-12-09 8 views
0

J'utilise SqlLite pour mon code recherche module.below sélectionnez statut unique value.how peut sélectionner plusieurs valeur d'état en simple requête .........Comment sélectionner plusieurs valeurs dans seule requête

Cette est Mon code:

String sta=Search.status2; 
String doc=Search.document; 
String[] items=sta.split(","); 
Cursor dbcur = myDB.rawQuery("select * from "+TABLE_NAME+" where Status='"+items[i]+"'AND Ball_in='"+ball+"'", null); 
if(dbcur.moveToFirst()) 
    { 
     int k=0; 
     System.out.println("enter first"); 
     do 
     { 

     String title1=dbcur.getString(dbcur.getColumnIndex("Title")); 
     System.out.println("title"+title1); 
     String name1=dbcur.getString(dbcur.getColumnIndex("Name")); 
     System.out.println("name"+name1); 
     String open1=dbcur.getString(dbcur.getColumnIndex("Open")); 
     System.out.println("open"+open1); 
     String close1=dbcur.getString(dbcur.getColumnIndex("Close")); 
     System.out.println("close"+close1); 
     String no1=dbcur.getString(dbcur.getColumnIndex("No")); 
     System.out.println("no"+no1); 
     no.add(no1+","+k); 
    first.put(no1+","+k, title1); 
    second.put(no1+","+k,name1); 
    third.put(no1+","+k, open1); 
    fourth.put(no1+","+k,close1); 
    k=k+1; 
    mylist=sorting(no,1,true); 
    }while(dbcur.moveToNext()); 
    } 
    dbcur.close(); 
    myDB.close(); 

Répondre

1

vous utilisez items[i] pour vos paramètres d'état. Créer une boucle, qui passe par les pararmeters et les ajouter à votre requête.

String[] items=sta.split(","); 

String statusFilter = " Status IN (" + items[0]; 
StringBuilder builder = new StringBuilder(statusFilter); 
for (int i = 1; i < items.length; i++) { 
    builder.append(", "); 
    builder.append(items[i]); 
} 
builder.append(')'); 

Cursor dbcur = myDB.rawQuery("select * from "+TABLE_NAME+" where " + builder.toString() + "'AND Ball_in='"+ball+"'", null); 
+0

voir la mise à jour, s'il vous plaît. –

+0

Merci beaucoup .......... – user533787

Questions connexes