如何使用 sqlite 检索单个结果?

How to use sqlite to retrieve single result?

我有这段代码可以检索最后一个 ID

 public int retrieveLastId() {

            SQLiteDatabase db = this.getWritableDatabase();
            Cursor cursor = db.rawQuery("select "+ RECORDING_ID +" from " + DATABASE_TABLE + " ORDER BY "+ RECORDING_ID +" DESC LIMIT 1 ", null);


            int last = 0;
            last = Integer.parseInt(cursor.getString(0));
            Log.e("sfsdlkfjs dfl sd",cursor.getString(0));
            return  last;
        } 

但我得到一个错误 android.database.cursorindexoutofboundsexception 我如何 return 最后一个 ID 正确?

这个错误的原因是你没有检查游标是否为空。

if (cursor.moveToFirst()) // Check your cursor has value?
   System.out.println(cursor.getString(0); 

cursor.close();    //you should realse cursor 

确保 table 中有值。如果没有,您的代码将以异常结束。

尝试在您的代码中执行此更改。

Cursor cursor = database.rawQuery(selectQuery, null);if(cursor!=null && cursor.getCount()>0){cursor.moveToFirst()
    do{
        bankbalresult = cursor.getString(0);
    } while (cursor.moveToNext());}