我有一个包含N行的SQLite
数据库,我需要通过知道数据库中的行数来检索每一行,我尝试过的是:
public CategoriesItem returnCategory(int index){
SQLiteDatabase db = this.getWritableDatabase();
Cursor mRow= db.rawQuery("select * from " + TABLE_CATEGORY + " LIMIT 0, " + index, null);
if (null!=mRow) {
mRow.moveToNext();
item.auto_id = Integer.toString(mRow.getInt(mRow.getColumnIndex(KEY_ID)));
item.title = mRow.getString(mRow.getColumnIndex(KEY_CATEGORY_NAME));
item.subTitle = mRow.getString(mRow.getColumnIndex(KEY_CATEGORY_DESCRIPTION));
}
return item;
}
问题是,即使索引不是1,它也会每次只返回第一行。 查询有什么问题?如何通过了解DB中的行数来获得单行值?
答案 0 :(得分:1)
这似乎有用,我会做一些测试,但这应该是解决方案:
Cursor mRow= db.rawQuery("select * from " + TABLE_CATEGORY + " LIMIT 1 OFFSET " + index, null);
答案 1 :(得分:0)
您可能想要做的是迭代Cursor
,然后您可以使用每一行中的数据。
What's the best way to iterate an Android Cursor?