Webmatrix中列的总和

时间:2013-09-04 02:37:58

标签: razor sql-server-ce webmatrix

我搜索了太多时间。 Calculate TotalAmount from all Rows in Table尽可能接近但无法让它发挥作用。

我有一个名为“ServiceEntered”的表,我需要在页面上显示“Price”列的SUM。我试图改变表中的字段类型,但没有成功。

我正在使用此代码:

decimal money = 0.00m; 
var prices = "SELECT SUM(Price) FROM ServiceEntered"; 
var db = Database.Open("OMD"); 
var result = db.QuerySingle(prices); 
money = Convert.ToDecimal(result);

并在页面中显示@money

它给我这个错误:无法将'WebMatrix.Data.DynamicRecord'类型的对象强制转换为'System.IConvertible'。

1 个答案:

答案 0 :(得分:2)

您使用的SQL是正确的。但是,QuerySingle方法的返回类型是一个对象,其属性是从查询中的数据库列动态生成的。你没有 - 你的SQL生成的表达式(SUM函数的结果)也没有任何别名。实际上,由于您只从数据库中检索标量值,因此应使用QueryValue。试试这个:

var prices = "SELECT SUM(Price) FROM ServiceEntered";
var db = Database.Open("OMD");
var result = db.QueryValue(prices);

然后在您的页面中,您可以使用:

@result