2011-08-30 155 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