0

在 ASP.NET / C# 中,我正在使用两个表;Cart_LineItems 和产品。我已加入这两个表并创建了一个名为“Extension”的新列,该列将“Products.UnitPrice”乘以“Cart_LineItems.Quantity”。这是我的完整 SQL 查询。

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 表单上的 TextBox 中?

这是我在类后面的代码中使用的 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();

谢谢你

4

1 回答 1

0

你应该试试这种类型:

DataTable dt = new DataTable();
            int sum = 0;
            foreach (DataRow dr in dt.Rows)
            {
                foreach (DataColumn dc in dt.Columns)
                {
                    sum += (int)dr[dc];
                }
            } 
于 2013-05-18T03:56:36.787 回答