2014-03-05 35 views
0

我使用下面的代碼來訪問了此前的紀錄在一個表中選擇「此前的紀錄」,在SQLite表

Cursor c = db.rawQuery("SELECT * FROM newcarDB WHERE rowid < " +iCurrentRowid+ " ORDER BY rowid DESC LIMIT 1",null); 

我將需要配置該這樣,當我到達頂部該表(rowid = 1)查詢停止。以前我已經完成了使用條件,所以如果rowid = 1,然後返回()。問題是,如果rowid = 1的記錄已被刪除,而最上面一行的rowid爲2,那麼我的查詢有問題,我的應用程序崩潰。

解決此問題的最佳方法是什麼?

+1

「以前的記錄」是什麼意思?你不應該爲此使用rowid。日期戳可能? – Simon

回答

0

解決此問題的最佳方法是什麼?

在訪問遊標中的任何數據之前,請確保它指向一個有效的行。檢查光標上moveTo...()調用的返回值,僅在true時使用get...()方法訪問光標數據。