2012-12-06 54 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