c# - 在 C# 上对 Mysql 值求和
问题描述
我有一个带有一些用户数据的 mysql 表,它有一些保存数量的产品,我想将每个产品数量相加得到产品总数量,我不能选择“我的产品名称”因为我需要得到所有产品都是自动的,它们可以随时更改,因此我正在创建一个临时表并删除客户信息列以仅从中获取产品。我用来只从我的表中获取产品的 mysql 命令:
CREATE TEMPORARY TABLE TemporaryTable
SELECT RoteiroDia.*
FROM Clientes
INNER JOIN RoteiroDia ON Clientes.id=RoteiroDia.idCliente
INNER JOIN NomeRotas ON Clientes.idRota=NomeRotas.id
INNER JOIN Vendedores ON RoteiroDia.idVendedor=Vendedores.id
INNER JOIN Veiculos ON RoteiroDia.idPlaca=Veiculos.id
WHERE NRotas = 'placeHere'
AND Vendedores.Nome = 'nameHere'
AND Veiculos.Placa = 'nameHere'
AND RoteiroDia.Data = 'dateHere';
ALTER TABLE TemporaryTable
DROP COLUMN FormaPagamento,
DROP COLUMN Obs,
DROP COLUMN id,
DROP COLUMN Data,
DROP COLUMN idRota,
DROP COLUMN idCliente,
DROP COLUMN pos,
DROP COLUMN idVendedor,
DROP COLUMN idPlaca,
DROP COLUMN Debito,
DROP COLUMN Acerto,
DROP COLUMN Diferença,
DROP COLUMN DinheiroRecebido,
DROP COLUMN AVista,
DROP COLUMN Despesas,
DROP COLUMN NovaVendas,
DROP COLUMN Entradas;
SELECT * FROM TemporaryTable;
mysql代码给了我什么: 图片
要将它们全部汇总到每个“产品”中,我在这里使用这个 c# 代码: 我正在使用 rdr2.fieldcount 来获取产品数量(当前为 9),然后我循环遍历它并分配 rdr.getint (0) 到 produtoQuantidadeList[i]
produtoQuantidadeList = new List<int>(new int[rdr2.FieldCount]);
int i = 0;
while (rdr2.Read())
{
produtoQuantidadeList[i] += rdr2.GetInt32(0);
if (i < rdr2.FieldCount - 1)
i++;
else
i = 0;
}
然后我在这里使用它来调试数量:
for(int i = 0; i < produtoQuantidadeList.Count; i++)
Console.WriteLine($"***** {produtoQuantidadeList[i]}");
但是我的 c# 代码没有正确地对它们求和,显然它无法从表中获取所有值
我的表 SUM() 与第三个产品的作用: 图片
用我的代码求和: 第三个产品(数字 2)
解决方案
该问题应如下解决:
produtoQuantidadeList = new int[rdr2.FieldCount];
while (rdr2.Read())
{
// Loop all fields for each record
for(int i=0; i < rdr2.FieldCount; i++)
{
// Sum the value of each field
produtoQuantidadeList[i] += rdr2.GetInt32(i);
}
}
推荐阅读
- python - 同一图中的多个箱线图 Matplotlib python
- python - 具有索引输出的 Find_between 函数?
- java - 在使用命名空间 std 的 c++ 头文件上运行 SWIG 时缺少分号错误
- arrays - VBScript (.vbs) 从第二个 .vbs 执行时产生错误
- javascript - 使用 JavaScript 打印时如何同时使用 2 个 CSS
- imagemagick - 使用从相邻像素插值的图像中的一种颜色替换/重绘所有像素
- twitter-bootstrap - Bootstrap:是否可以创建一个可以导入到网站上每个新页面的模板?
- python - 从脚本创建 exe 文件时如何修复 pyinstaller 无法找到 matlab 文件
- angular - 创建组件作为元素的子元素而不覆盖其他子元素?
- javascript - 在函数中插入“继续”语句,稍后在另一个函数中调用“For循环”语句