C#Xamarin如何将SQLite中的列与SELECT相加

时间:2018-05-31 21:55:59

标签: c# sqlite xamarin

我正在用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;

1 个答案:

答案 0 :(得分:1)

而不是:

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用于从数据库返回标量值。