2010-12-09 3 views
0

Я С помощью SQLite для моего поиска module.below кода выбора одного состояния value.how может выбрать несколько значение статуса в одном запросе .........Как выбрать несколько значение в одном запросе

Это есть мой код:

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(); 

ответ

1

items[i] для ваших параметров состояния. Создайте цикл, который проходит через pararmeters и добавляет их к вашему запросу.

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

см. Обновленный ответ, пожалуйста. – 2010-12-09 15:04:37

Смежные вопросы