2013-05-18 13 views
0

在ASP.NET/C#中,我正在處理兩個表; Cart_Line項目和產品。我已經加入了這兩個表格,並創建了一個名爲「Extension」的新列,該列已將「Products.UnitPrice」乘以「Cart_LineItems.Quantity」。這是我的完整SQL查詢。如何從連接表中獲取創建的列的總和? SQL/C#

SELECT Cart_LineItems.ProductID, Products.Name, Products.UnitPrice, 
    Cart_LineItems.Quantity, Products.UnitPrice * Cart_LineItems.Quantity 

AS Extension, Cart_LineItems.CartNumber 
FROM (Cart_LineItems 
INNER JOIN Products 
ON Cart_LineItems.ProductID = Products.ProductID) 
WHERE (Cart_LineItems.CartNumber = ?) 

此查詢工作正常並填充的GridView我希望它的方式。如何獲得「擴展」列中字段的總和並將結果放在Web表單上的文本框中?

這是我在代碼背後使用的C#代碼。

String strAddSQL = ""; 

strAddSQL = "SELECT SUM(extension) as subtotal FROM (Cart_LineItems 
    INNER JOIN Products ON Cart_LineItems.ProductID = Products.ProductID)"; 

    OleDbConnection myAddConn = new OleDbConnection(); 
    OleDbDataReader myAddReader; 
    myAddConn.ConnectionString = this.SqlDataSource1.ConnectionString; 
    OleDbCommand myAddCmd = new OleDbCommand(strAddSQL, myAddConn); 
    myAddConn.Open(); 
    myAddReader = myAddCmd.ExecuteReader(); 
    while (myAddReader.Read()) 
    { 
     txtSubTotal.Text = Convert.ToString(myAddReader["subtotal"]); 

    } 
    myAddReader.Close(); 
    myAddConn.Close(); 

謝謝

回答

0

你應該嘗試這種類型:

DataTable dt = new DataTable(); 
      int sum = 0; 
      foreach (DataRow dr in dt.Rows) 
      { 
       foreach (DataColumn dc in dt.Columns) 
       { 
        sum += (int)dr[dc]; 
       } 
      } 
相關問題