2

何時間も探しました。テーブル内のすべての行から TotalAmount を計算することは、私が見つけることができる限り近いものでしたが、機能させることができませんでした。

「ServiceEntered」というテーブルがあり、「価格」列の合計をページに表示する必要があります。テーブルのフィールド タイプも変更しようとしましたが、成功しませんでした。

私はこのコードを使用しています:

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」タイプにキャストできません。

4

1 に答える 1

2

使用している SQL は正しいです。ただし、QuerySingle メソッドの戻り値の型は、クエリ内のデータベース列から動的に生成されるプロパティを持つオブジェクトです。SQL が生成する式 (SUM 関数の結果) のエイリアスもありません。実際、データベースからスカラー値を取得しているだけなので、代わりにQueryValueを使用する必要があります。これを試して:

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

次に、ページで次を使用できます。

@result
于 2013-09-04T16:09:55.980 に答える