当前位置:编程学习 > C#/ASP.NET >>

求助:数据匹配计算问题

求助:

有两张excel 台账
库存资源表:(说明:每次入库时新增上去,出库时减掉得到库存量,这是每天维护的库存表,大约有20000行数据)
序号 规格 等级 材质 数量 单位 库房
1 1002 A 铁 10 PCS A
1 1002 A 铁 10 PCS B
2 1005 A 铜 10 PCS A
 
资源需求表:每个子项目下有具体的物资需求。(每个月生产部门提报需求,大约有5万行数据)
序号 项目 子项目 需求日期 规格 等级 材质 需求数量 单位
1 A A01 09-03 1002 A 铁 5 PCS
2 A A01 09-03 1002 A 铁 1 PCS
3 A A01 09-03 1003 A 铁 5 PCS
4 A A02 09-05 1005 A 铜 9 PCS
5 B A02 09-05 1005 A 铜 8 PCS

需要根据子项目的需求日期作为优先级来计算生产部门的需求能否满足,可以满足多少?仓库还有多少物料可以再利用?
必须通过 规格、等级、材质 三个字段相同,为同一种物资进行匹配。(后面还要解决的是
在库存不足的情况下,规格、等级相同时,可以“铜”代替“铁”的,但“铁”的不可以代替“铜”的。
希望能够生成如下结果:
1. 希望得到资源满足的表:就是希望看到各个子项目,可以利用的库存资源有多少。如下表:

序号 项目 子项目 需求日期 规格 等级 材质 需求数量 单位 可以发放数量
1 A A01 09-03 1002 A 铁 5 PCS 5
2 A A01 09-03 1002 A 铁 1 PCS 1
3 A A01 09-03 1003 A 铁 5 PCS 0
4 A A02 09-05 1005 A 铜 9 PCS 9
5 B A02 09-05 1005 A 铜 8 PCS 1

2. 希望从库存角度,看到库存资源的分配情况:
序号 规格 等级 材质 数量 单位 库房 可以发放数量 剩余数量
1 1002 A 铁 10 PCS A 6           4
1 1002 A 铁 10 PCS B 0           10
2 1005 A 铜 10 PCS A 10                 0
用c#做个数据库操作的程序怎么能够高效的运算到结果?此前写了个程序,要运行半小时,还不得完成。大家有没有什么好的办法?

数据库 c# 数据匹配 计算 --------------------编程问答-------------------- 竟然运行半个小时? --------------------编程问答-------------------- 希望从库存角度,看到库存资源的分配情况:
直接读取符合条件的表然后分页显示不就行了么?

希望得到资源满足的表:就是希望看到各个子项目,可以利用的库存资源有多少。如下表:
 这个需要计算比较复杂 建议写存储过程 --------------------编程问答-------------------- 这么大量的数据,用 excel 效率太差了,换 access 好些,换数据库最优,更换后应该就能解决。 --------------------编程问答-------------------- c#+ sqlserver 我是菜鸟。
能帮忙写段实例代码吗?特别是各个子项目需求的计算,我把sql写在循环里了,每次循环后 ,判断,更新数据库字段的值。循环8万多次很慢。 --------------------编程问答-------------------- 菜不菜鸟是一回事,
你可以选择不做这件事,
如果想做,
必须扔掉excel,
数据存储到数据库,SQLServer就比较合适。
建立合适的表结构后,
做winform程序,
做出来后,再优化,
--------------------编程问答-------------------- 我用 c#+ sqlserver
我把两个表读到dataset里,再进行for 循环,找到结果后再 update ,这方法是不是太笨了。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,