【问题标题】:How to get the sum of a created column from a joined table? SQL / C#如何从连接表中获取创建列的总和? SQL / C#
【发布时间】:2013-05-18 03:54:06
【问题描述】:

在 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();

谢谢

【问题讨论】:

    标签: asp.net sql join textbox sum


    【解决方案1】:

    你应该试试这种类型:

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

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 2012-10-21
      • 2019-11-19
      相关资源
      最近更新 更多