难度高的问题(关于DataGrid以及DataSet和数据库的问题)

scorpion007 2005-06-02 12:17:48
废话少说,直接进入主题,大家的时间都比较忙吗!
1,我想实现以下功能,
我读取数据库里面的表中其中一个字段,以该字段的值为DataGrid的表格中一列,同时根据该字段的值
自动计算统计相应的结果。例如Sql sum等等功能。
例如:(仓库ABC 的数字都是自动统计出来的,不是读取数据库的)
物品 仓库A总计 仓库B 仓库C
1 50 50 50
2 100 100 100
3 200 200 200

以下是我的思路。
我搜索了msdn和csdn的相关资料
发现了一个方法,也就是DataTable的函数compute.
不知道是不是应该使用这种方法呢?
还是有其他方法?
各位高手可否给个思路或者MSDN相关资料啊?
不胜感激!
谢谢!
我会高分回赠的!
如果已经有人做出类似的,不妨告知
谢谢!
...全文
137 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不用劳驾写那么多代码。SQL服务器计算,直接查询结果。SQL可以在需求很复杂的时候仍然很简单清晰地表现计算,但是用编程代码就需要随着需求的变化大量修改。

假设“需要统计的物品”由prodSql(它应该是形如 select id from product where ...的样子)来表示:

dim sql="select a.id as [物品编号],a.name as [品名规格],"+ _
"(select sum(quanlity) from [库存] where pid=a.id and stk='A') as [仓库A],"+ _
"(select sum(quanlity) from [库存] where pid=a.id and stk='B') as [仓库B],"+ _
"(select sum(quanlity) from [库存] where pid=a.id and stk='C') as [仓库C] "+ _
"from ("+prodSql+") as a order by a.id"

然后用sql生成datatable或者datareader,再绑定。


呵呵。大家写这个页面不要像csdn这样左右留这么多余白,应该自动使用窗口宽度。尤其是那个广告,应该自动收缩到左边窗口之外,待鼠标靠近了再自动像鬼一样伸出头来。
  • 打赏
  • 举报
回复
不用劳驾写那么多代码。SQL服务器计算,直接查询结果。SQL可以在需求很复杂的时候仍然很简单清晰地表现计算,但是用编程代码就需要随着需求的变化大量修改。

假设“需要统计的物品”由prodSql(它应该是形如 select id from product where ...的样子)来表示:

dim sql="select a.id as [物品编号],a.name as [品名规格],"+ _
"(select sum(quanlity) from [库存] where pid=a.id and stk='A') as [仓库A],"+ _
"(select sum(quanlity) from [库存] where pid=a.id and stk='B') as [仓库B],"+ _
"(select sum(quanlity) from [库存] where pid=a.id and stk='C') as [仓库C] "+ _
"from ("+prodSql+") as a order by a.id"

然后用sql生成datatable或者datareader,再绑定。
xzq686 2005-06-02
  • 打赏
  • 举报
回复
你的表结构没有。可以根据表结构直接在SQL里面计算。也就是在SQL里面计算完生成你所要的记录集

物品 仓库A总计 仓库B 仓库C
1 50 50 50
2 100 100 100
3 200 200 200
brando_beat 2005-06-02
  • 打赏
  • 举报
回复
up
scorpion007 2005-06-02
  • 打赏
  • 举报
回复
唉,现在才发现要求不是这样的。
郁闷
例如:
原来的要求是这样:
物品 仓库A总计 仓库B 仓库C
1 50 50 50
2 100 100 100
3 200 200 200
现在改为这样:
物品1总金额 物品2总金额 物品3总金额
仓库A 50 50 50
仓库B 100 100 100
仓库C 200 200 200

而表的设计是如下,
一个仓库表只记录仓库名加所在区域。注:所在区域还有一个值为空,该值意思代表全部区域!
而物品的总金额是另外一个明细表计算统计获得。2个表之间只有区域有关,其余无关。
这样该怎么写呢?

scorpion007 2005-06-02
  • 打赏
  • 举报
回复
待鼠标靠近了再自动像鬼一样伸出头来!! = =b
这里先谢谢sp1234()
我去试一下先!
看可否!
zdliang 2005-06-02
  • 打赏
  • 举报
回复
数据库里面建立存储过程,建立临时表,把要查的结果插入到临时表里面
执行存储过程,返回的就是你需要的数据了,难吗??
  • 打赏
  • 举报
回复
交互界面也很需要呀!
  • 打赏
  • 举报
回复
交叉表的查询你可以去 SQL 板块问问,直接得到自动产生宏并使用 EXEC 查询的结果。我上面只是说明程序中可以用SQL替代大段的代码。
zeusvenus 2005-06-02
  • 打赏
  • 举报
回复
用水晶报表,这些功能都已经集成实现了啊。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧