2016-01-31 60 views
0

我想在android中執行搜索功能,將允許用戶搜索不同的過濾器。我可以用多個where子句創建一個簡單的select語句。我的問題出現在用戶不使用過濾器選項時,是否有辦法繼續select語句,但在where子句中使用空值?Android搜索數據庫與空條款

例如,用戶將要搜索的所有的汽車,並添加一個過濾器來查找在今年取得2011年

"Select * from cars where colour = 'green' AND year = 2011" 

例具體環保車,其中不帶過濾器的用戶搜索所有汽車

"Select * from cars where colour = '' AND year = " 

我不想不得不使用兩種說法我只想用一個有空格的where子句中沒有在過濾器中選擇,這可能嗎?

回答

1

你可以用一個簡單的方法做,例如:

public void searchMethod(boolean filtered, colourString, yearValue) { 

    String selectQuery = ""; 

    if (filtered) 
     selectQuery = "Select * from cars where colour = " + colourString + " AND year = " + yearValue; 
    else 
     selectQuery = "Select * from cars"; 

    Cursor c = mDb.rawQuery(selectQuery, null); 

    ... 
} 
+0

感謝,我會嘗試了這一點 – JJSmith

0

ü可以寫somelogic這樣的: -

字符串whereClause = 「WHERE顏色= '綠',一年= 2011' ;

查詢字符串=」 SELECT * FROM車「;

如果(isForFilter){//如果結果是基於濾波器booelan檢查

查詢=查詢+ whereClause;

}