2012-02-22 56 views
0

我有我的數據庫與android sqlite不查詢where 1和2之間的column1和column2之類的人?

db.rawQuery("SELECT* FROM "+TABLE+" WHERE "+COLUMN1+" BETWEEN ('1') AND ('2')", null); 

工作能正常工作,但是當我切換到

db.rawQuery("SELECT* FROM "+TABLE+" WHERE "+COLUMN1+" BETWEEN ('1') AND ('2') "+ 
"AND "+COLUMN2+" LIKE ('PERSONSNAME')", null); 

我的數據庫不查詢我的選擇。但是當我將其更改爲

db.rawQuery("SELECT* FROM "+TABLE+" WHERE "+COLUMN1+" LIKE ('1') AND "+ 
COLUMN2+ " LIKE ('PERSONNAME')", null); 

它適用於此。有人能告訴我我的問題是什麼嗎?

+0

做COLUMN1和COLUMN2有哪些數據類型的結果? – m1ntf4n 2012-02-22 19:32:49

+0

有一個錯字:在第二個查詢中,它是PERSONSNAME,在第三個PERSONNAME中。也許這就是問題所在? – m1ntf4n 2012-02-22 19:35:32

+0

我一直在使用[SQLITE瀏覽器](http://sqlitebrowser.sourceforge.net/index.html)來幫助我調試這樣的問題。導出您的數據庫文件並使用該工具打開,您可以相應地調整您的查詢。 – Woodsy 2012-02-22 19:41:37

回答

0

我想出了一個解決方案。方法

db.rawQuery("SELECT* FROM "+TABLE+" WHERE "+COLUMN1+" BETWEEN ('1') AND ('2') "+ 
"AND "+COLUMN2+" LIKE ('PERSONSNAME')", null); 

沒有工作。但只要我改變了BETWEEN聲明< =和> =查詢給了我一直在尋找

db.rawQuery("SELECT* FROM "+TABLE+" WHERE "+COLUMN1+" <= ('1') AND "+COLUMN1+" >= ('2') "+ 
"AND "+COLUMN2+" LIKE ('PERSONSNAME')", null);