sqlite

2016-04-14 28 views
0

kimliğine uyan tüm satırları yakalayamıyor Aşağıdaki kodda, kimliğe uyan tüm satırları yakalamaya çalışıyorum.sqlite

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; 
    } 

Im getCompliedChartCounts gibi çağrılırken zaman (3), ben id 3.

içeriyor Ama sorun o id ile eşleşen sadece ilk satırı yakalar, yani tüm satırları kapmak isteyen 3 kalan satırlar getirilmiyor ise. Bunu nasıl çözebilirim?

+0

nasıl anlarsınız tüm içeriği kapmak gerekir getirme satırını? İmleç üzerinde yinelenmiyorsunuz. GetCount() 'sını kontrol ediyor musunuz? –

+0

Döngü imlecini "while (cursor.moveToNext())' gibi çalıştı mı? –

+0

Oturum açmayı denedim ve yalnızca –

cevap

5

Sevgiyi tekrarlamıyorsunuz. Eğer sadece ilk sadece bir satır kapma oluyor sen

try { 
    while (cursor.moveToNext()) { 
     ... 
    } 
} finally { 
    cursor.close(); 
} 

denemek Ve tüm içeriği tutun ve

+0

Teşekkür ederim kardeşim çalışıyor –