How to select multiple value in single query
I am using sqllite for my search module.below code select single status value.how can select multiple status value in single query.........
This is My 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();
you use items[i]
for your status parameters. Create a loop, which is going through pararmeters and append them to your query.
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);
精彩评论