如何使用 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());}
我有这段代码可以检索最后一个 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());}