2013-09-04 2 views
2

너무 많은 시간 동안 검색했습니다. Calculate TotalAmount from all Rows in Table은 내가 찾은 것만 큼 가까웠지만 작동시키지 못했습니다.Webmatrix에서 열의 합

"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'형식으로 캐스팅 할 수 없습니다.

+0

열의 데이터 유형은 무엇입니까? –

+0

지금 당장 떠 다니도록 설정했습니다. 그것은 돈이지만 문제가 발생할 수 있다고 들었습니다. – James

+0

10 진수로 변경해 보셨습니까? –

답변

2

사용중인 SQL이 정확합니다. 그러나 QuerySingle 메서드의 반환 형식은 쿼리의 데이터베이스 열에서 동적으로 생성되는 속성을 가진 개체입니다. SQL이 생성하는 표현식 (SUM 함수의 결과)에 대한 별칭도 없습니다. 실제로 데이터베이스에서 스칼라 값만 검색 중이므로 대신 QueryValue을 사용해야합니다. 이 시도 :

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

다음 페이지에서 사용할 수 있습니다 :

@result 
+0

당신은 내 친구가 놀랍습니다. 이것은 당신이 나를 도왔습니다. 정말 고맙습니다! – James