2012-12-06 53 views
1

有人可以告訴我我做錯了什麼嗎?我查詢的表是空的,所以我認爲光標應該是空的。但是,它會返回一個具有1行和1列的遊標。即使如此,我不明白爲什麼會導致錯誤。我所要做的就是從我的查詢中返回單個值(如果存在)。SQLite難以從光標檢索值

有人可以幫我理解嗎?謝謝!對於字段時隙0

Cursor cursor = db.rawQuery("SELECT max(GAME_COLUMN) FROM GAMES_TABLE", null); 
if (cursor.moveToNext()) { 
    System.err.println("why am I here?"); 
    nextGame = cursor.getInt(cursor.getColumnIndex("GAME_COLUMN")); 
} 

錯誤請求,-1。 numRows = 1,numColumns = 1

回答

1

這是因爲結果中沒有名爲GAME_COLUMN的列。讓你的查詢

SELECT max(GAME_COLUMN) AS GC FROM GAMES_TABLE 

,然後查詢GC: -

Cursor cursor = db.rawQuery("SELECT max(GAME_COLUMN) AS GC FROM GAMES_TABLE", null); 
if (cursor.moveToNext()) { 
    System.err.println("why am I here?"); 
    nextGame = cursor.getInt(cursor.getColumnIndex("GC")); 
} 
+0

就是這樣。非常感謝。我只是在學習這些SQL的東西,所以我正在做大量的輪子旋轉,我會盡快接受答案,再次感謝! – Alex