将一列中的数字之和与另一列中数字之和相乘?访问C#

本文关键字:一列 数字 访问 | 更新日期: 2023-09-27 17:59:05

此程序在数据网格视图中显示数据库信息。我需要将第1列中的所有数字相加,将第3列中的全部数字相加,然后将这两个和相乘。

此代码仅将最后一行的第1列和第3列相乘。有什么建议吗?

这是我第一次连接到数据库,所以如果这看起来像是一个愚蠢的问题,我很抱歉

                foreach (DataRow currentRow in itemDS.Tables[0].Rows)
                {
                    // add to data grid view
                    invoiceDataGridView.Rows.Add(currentRow[1].ToString(),   currentRow[2].ToString(), currentRow[3].ToString());
                    var itemQuant = Convert.ToDecimal(currentRow[1]);
                    var priceEach = Convert.ToDecimal(currentRow[3]);
                    decimal subTotal = itemQuant * priceEach;
                    subTotalOutput.Text = subTotal.ToString();
                }

将一列中的数字之和与另一列中数字之和相乘?访问C#

你的意思是你不确定如何在循环结构中保持一个运行的总数吗?如果是:

decimal total = 0; //declare outside the foreach
foreach (DataRow currentRow in itemDS.Tables[0].Rows)
                {
                    // add to data grid view
                    invoiceDataGridView.Rows.Add(currentRow[1].ToString(),   currentRow[2].ToString(), currentRow[3].ToString());
                    var itemQuant = Convert.ToDecimal(currentRow[1]);
                    var priceEach = Convert.ToDecimal(currentRow[3]);
                    decimal subTotal = itemQuant * priceEach;
                    total += subTotal;
                }
//do something with total here, after for each finishes

您可以使用linq来获取列的和。

var sum = itemDS.Tables[0].AsEnumerable().Sum(dr => dr.Field<int>("value"));

"value"将是itemDS中数据表的列名。您必须在此处指定您的列名。

按照上面的语句计算下一列的总和。加乘它。

希望这能有所帮助…:)