2015-11-20 2 views
0

Я пытаюсь получить общее количество строк из Sqlite База данных. Я использовал следующий код, но проблема в том, что счетчик всегда равен 1, хотя существует несколько строк, удовлетворяющих условиям. Может ли кто-нибудь вести меня, где я ошибаюсь.Использование count возвращает 1 всегда в android sqlite

public int get_report_entry_area_count(String jobId, String area, 
     String sensor) { 

    String countQuery = "select count(*) from report1 where JobId='" 
     + jobId + "' and sensor='" + sensor + "'" + " and Area='" 
      + area + "'"; 

    SQLiteDatabase database = this.getWritableDatabase(); 

    Cursor c = database.rawQuery(countQuery, null); 
    c.moveToFirst(); 
    int total = c.getCount(); 
    c.close(); 
    return total; 

}  
+1

Вероятно Строки в состоянии вызывает вопрос поэтому сначала попробовать только 'JobId', где состояние. дайте нам знать, все еще получая счет 1? –

+0

Я попробовал String countQuery = "select count (*) from report1", но все равно count is 1 – Tiny

+0

изменить этот запрос String countQuery = "select * from report1 где JobId = '" + jobId + "' и sensor = '" + sensor + "" + "и Area = '" + area + "'"; – Hemina

ответ

3

Используя счетчик возвращает 1 всегда андроид SQLite

Поскольку c.getCount() возвращает количество элементов в предусмотренном Cursor вместо count результата запроса.

Получить счетчик результат, как от Cursor:

c.moveToFirst(); 
int total = c.getInt(0);