我试图通过光标获取表中的所有IDs
。该表有4行,当我尝试通过除0以外的任何索引访问游标时,应用程序崩溃。
伙计们,问题仍然存在,甚至c.getInt(0)都不起作用...我真的不知道我的错误在哪里???
logcat还提示错误可能来自
Toast.makeText(getApplicationContext(), "id="+dbd.getIDs()[0], Toast.LENGTH_SHORT).show();
我的意思是
c.getint(0)
返回id,c.getint(2)
返回错误。这是代码:public int []getIDs() {
SQLiteDatabase db = this.getReadableDatabase();
SQLiteCursor c = (SQLiteCursor) db.rawQuery("SELECT " + BaseColumns._ID + " FROM Demo ", null);
int []r = new int[c.getCount()];
c.moveToFirst();
do{
r[c.getPosition()] = c.getInt(0);
}while(c.moveToNext());
c.close();
db.close();
return r;
}
最佳答案
c.getInt(0)
仅返回当前行第一列的值。
试试这个代码:
do{
int r = c.getInt(0);
Log.d("Your class name","id value = "+r);
}while(c.moveToNext());