Flutter: Sqflite firstintvalue возвращает ноль - PullRequest
0 голосов
/ 27 января 2020

У меня есть rawQuery, который возвращает сумму столбца, он возвращает правильное значение. Но когда я пытаюсь получить доступ к этому значению, используя Sqflite.firstIntValue(result);, он возвращает null.

Вот мой код :

String query = "SELECT SUM(pay.fees) FROM payments pay"; 

final results = await db.rawQuery(query);

print(Sqflite.firstIntValue(results));    //prints null

print(results);                           //prints [{SUM(pay.fees): 807650.0}]

Есть одна вещь странно об этом, мы поставили это приложение в октябре прошлого года, и до прошлой недели оно работало абсолютно нормально, оно внезапно сломалось. Мне потребовалось несколько дней, чтобы сделать мой последний рабочий код совместимым с последним флаттером.

Вопрос:

  1. Как это исправить и получить фактическое значение?

  2. Любая подсказка почему это внезапно сломалось?

1 Ответ

1 голос
/ 28 января 2020

Попробуйте следующий код:

String query = "SELECT SUM(pay.fees) as TOTAL FROM payments pay"; //create an alias

final results = await db.rawQuery(query);

print(results[0]['TOTAL']); //use alias to get results
...