Android 无法获取与sqlite中的id匹配的所有行
我有下面的代码,我试图抓取与id匹配的所有行Android 无法获取与sqlite中的id匹配的所有行,android,sqlite,Android,Sqlite,我有下面的代码,我试图抓取与id匹配的所有行 public ChartData getCompliedChartCounts(int id) { SQLiteDatabase db = this.getReadableDatabase(); SQLiteDatabase sqLiteDatabase = this.getWritableDatabase(); ContentValues contentValues = new ContentVal
public ChartData getCompliedChartCounts(int id) {
SQLiteDatabase db = this.getReadableDatabase();
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
Cursor cursor = db.query(TABLE_COMPLIANCE_CHART_COUNTS, new String[]{KEY_ID,
KEY_FILTER_ID, KEY_YEAR, KEY_COUNTRY_ID, KEY_DOMAIN_ID, KEY_COMPLIED_COUNT, KEY_NOT_COMPLIED_COUNT, KEY_DELAYED_COUNT, KEY_INPROGRESS_COUNT}, KEY_COUNTRY_ID + "=?",
new String[]{String.valueOf(id)}, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
ChartData country = new ChartData(cursor.getInt(0), cursor.getInt(1), cursor.getInt(2), cursor.getInt(3), cursor.getInt(4), cursor.getInt(5), cursor.getInt(6), cursor.getInt(7), cursor.getInt(8));
// return contact
return country;
}
当我像getCompliedChartCounts(3)那样调用它时,我希望它获取包含id 3的所有行
但问题是,它只抓取与ID3匹配的第一行,而其余的行不会被抓取。我怎样才能解决这个问题呢?亲爱的,您没有迭代光标。您只获取第一行,您应该尝试
try {
while (cursor.moveToNext()) {
...
}
} finally {
cursor.close();
}
按住所有内容并抓取所有内容亲爱的,您不是在重复光标。您只获取第一行,您应该尝试
try {
while (cursor.moveToNext()) {
...
}
} finally {
cursor.close();
}
按住“所有内容”并抓取“所有内容”你怎么知道它只抓取了一行?您没有在
光标上迭代。您是否正在检查它的getCount()
?您是否尝试过像那样循环游标while(cursor.moveToNext())
?我尝试过记录,它只记录与使用moveToNext()尝试的idI匹配的第一个元素但是同样的问题仍然存在,Fallows这个链接我希望它对你有用,你怎么知道它只占了一行呢?您没有在光标上迭代。你是否正在检查它的getCount()
?你是否尝试过像那样循环游标while(cursor.moveToNext())
?我尝试过记录,它只记录与idI匹配的第一个元素,尝试过使用moveToNext(),但仍然存在相同的问题。Fallows这个链接我希望它能为你工作