У меня есть запрос, которыйcursor.getCount() возвращение 1, но должен был возвратить 0
SELECT SUM(amount) AS total FROM transactions WHERE transaction_date > 1477333800
Для этого запроса cursor.getCount()
возвращается 1
. Но при повторении курсора значение приближается к нулю.
public Cursor getTotalForToday(long start)
{
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery("SELECT SUM(amount) AS total FROM "+TRANSACTION_TABLE+" WHERE transaction_date > "+start, null);
return c;
}
Cursor cursor = db.getTotalForToday();
if(cursor.getCount() == 0) // this is evaluating to false
{
forToday.setText("Zero"); //forToday is TextView
}
else
{
while(cursor.moveToNext())
{
String total_today = cursor.getString(0); // this is returning null
forToday.setText(total_today);
}
}
PS: Тип данных amount
является целым числом в таблице
Если я запрашиваю то же самое в расширении SQLLite Firefox, я получаю следующий вывод
В идеале, количество возвращаемых строк должно было быть 0, но я не знаю, почему он возвращается как 1. Вот данные в таблице кстати:
Darn! Это то, что я только что понял. Красный цвет фона на первом снимке экрана был хорошим намеком. – asprin