C# Xamarin 如何使用 SELECT 对 SQLite 中的一列求和



我正在用 C# 编写一个带有 Xamarin 的小程序,我需要对表中一列大于 0 的值求和......目前,我通过以下方式实现了这一目标:

var ent = conn.Table<Transaction>().Where(t => t.price > 0);
entLabel.Text = (ent.Sum(t => t.price)).ToString();

但我想使用 SELECT 脚本获得相同的结果。我试过这个:

var ent = conn.Query<Transaction>("SELECT SUM(price) FROM Transaction WHERE price > 0");
entLabel.Text = ent.ToString();

可悲的是,结果不是一个数字,而是一个像"System.Collection.something.blahblah"这样的字符串。

我错过了什么吗?我在文档和其他站点中搜索了语法(粘贴在下面(,它似乎与我的相同。

SELECT SUM(column_name)
FROM table_name
WHERE condition;

而不是:

var ent = conn.Query<Transaction>("SELECT SUM(price) FROM Transaction WHERE price > 0");

用:

var ent = conn.ExecuteScalar<int> ("SELECT SUM(price) FROM Transaction WHERE price > 0");

ExecuteScalar用于从数据库返回标量值。

最新更新