2015-11-03 42 views
0

我想從我的本地數據庫中獲取1000個數據的限制在我的android項目。因此,我寫了這個查詢,但我得到的語法錯誤:在日誌在Android中的查詢限制碼

android.database.sqlite.SQLiteException: near "desc": syntax error (code 1): , while compiling: SELECT * FROM AllDetails WHERE updateTime = '0' desc LIMIT 0, 1000 

int value = 0; 
String updateTime = "0"; 
SQLiteDatabase db = this.getWritableDatabase(); 
String selectQuery = "SELECT * FROM " + TABLE_ALL_DETAILS_LOCAL + " WHERE " + KEY_UPDATE_TIME + " = '"+ updateTime + "'" + " desc LIMIT " + value + ", 1000"; 
Cursor cursor = db.rawQuery(selectQuery, null 

錯誤我不知道這裏是什麼語法錯誤?

回答

0

在你的代碼中,你正在使用desc,但沒有指定要通過從查詢中刪除desc或在其中添加一些字段來排序的字段。

1.通過除去降序

int value = 0; 
String updateTime = "0"; 
SQLiteDatabase db = this.getWritableDatabase(); 
String selectQuery = "SELECT * FROM " + TABLE_ALL_DETAILS_LOCAL + " WHERE " + KEY_UPDATE_TIME + " = '"+ updateTime + "'" + " LIMIT " + value + ", 1000"; 
Cursor cursor = db.rawQuery(selectQuery, null) 

2.通過添加一些字段。

int value = 0; 
String updateTime = "0"; 
SQLiteDatabase db = this.getWritableDatabase(); 
String selectQuery = "SELECT * FROM " + TABLE_ALL_DETAILS_LOCAL + " WHERE " + KEY_UPDATE_TIME + " = '"+ updateTime + "'" + " order by updateTime desc LIMIT " + value + ", 1000"; 
Cursor cursor = db.rawQuery(selectQuery, null 
+0

感謝這工作! – SK2015

2

你需要在命令,如果你想使用id對它進行排序使用desc所以要規定一個column你可以寫

SELECT * FROM AllDetails WHERE updateTime = '0' order by id desc LIMIT 0, 1000 

你將不得不使用order by子句來完成相同

+0

感謝這工作! – SK2015