2011-08-30 157 views
0

mRowIdColumnIndex我需要检查,如果已经有在我的数据库一列的值,所以我写了这个代码,可以这样做:SQLite的查询返回-1

   public Cursor getTitle(long rowId) throws SQLException { 

Cursor mCursor = db.query(DATABASE_TABLE, new String[] 
     {KEY_TOTAL_HOURS, KEY_TOTAL_MINUTES}, KEY_ROWID +"=" + rowId, null, null, null, null);{ 

    mCursor.moveToFirst(); 
    return mCursor; 
} 
} 

但光标我回来给出

android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0 

怎么了?

+0

我认为这是这个问题的一个副本: http://stackoverflow.com/questions/5316336/cursor-index-out-of-bounds-index-0-requested-with-size-0 – Pramod

回答

1

您应该检查返回值moveToFirst以确保返回有效的行:如果没有返回值,它将返回false。它看起来没有包含您指定的ID的行。

+0

它会返回别的东西。可能是什么问题? – Yosi199

+0

还有别的吗? 'moveToFirst' * true *或* false *? – Femi

+0

我似乎无法在调试器中找到它的价值。 – Yosi199