2011-06-28 27 views
1

您能否帮我解决这个问题?我试图计算我的价格表中所有行的总数,但这些数值从未加起来,现在似乎也不再计算了。计算表中所有行的TotalAmount

我有以下几点:

@{ 
    decimal money = 0.00m; 
    var prices = "SELECT Price, SUM(Price) FROM PriceTable GROUP BY Price"; 

      var database = Database.Open("MYDB"); 
      database.QuerySingle(prices); 
      money = prices.AsDecimal(); 
} 
在我的HTML

而且某处I型:

@money // to display the totalAmount 

我这样做对吗?我已经搜索了这个,但令人惊讶的是,似乎没有太多关于这方面的信息,尽管我可能没有使用正确的关键字。

谢谢

回答

4

变化

​​

var prices = "SELECT SUM(Price) FROM PriceTable"; 

如果你想要的是所有行的总和,不需要分组。

另外;

var result = database.QuerySingle(prices); 
money = Convert.ToDecimal(result); 
+0

比kyou @Chris,我起初没有GROUP BY,但是我在添加了sn错误后添加了一些聚集的东西,某些东西不包含GROUP - 所以它只是弹出到我的头上,也许它是问对于GROUP BY:P – bendr

+0

接受一个答案,一切都被原谅:D – ChrisBint

+0

@Chris谢谢你,但它仍然不显示总金额。它只是说$ 0。 – bendr

1

这是因为您也自己添加价格。您只计算不同的价格,因此对于每个独特的价格,总和与价格相同。

简而言之:删除价格和组。只需在整个表格中查询总和(价格)即可。

1

{@money} < - 这不是正确的语法吗?不是“@money”,只要我没有记错...... 以及下面的查询与查询! =]

+0

那么,如果这只是一件事,你只是把@ infront,但如果有不止一件事你必须在代码块@ {...}内 - 它仍然记得 – bendr

+0

,如果你尝试这样做: money = Decimal.parse(prices); – benqus

+0

如果我尝试它发生心理异常:“异常详细信息:System.FormatException:输入字符串的格式不正确 ” – bendr