废话少说,直接进入主题,大家的时间都比较忙吗!
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相关资料啊?
不胜感激!
谢谢!
我会高分回赠的!
如果已经有人做出类似的,不妨告知
谢谢!

解决方案 »

  1.   

    你的表结构没有。可以根据表结构直接在SQL里面计算。也就是在SQL里面计算完生成你所要的记录集

    物品   仓库A总计  仓库B  仓库C 
      1      50         50    50
      2      100        100  100
      3      200        200  200
      

  2.   

    不用劳驾写那么多代码。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,再绑定。
      

  3.   

    不用劳驾写那么多代码。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这样左右留这么多余白,应该自动使用窗口宽度。尤其是那个广告,应该自动收缩到左边窗口之外,待鼠标靠近了再自动像鬼一样伸出头来。
      

  4.   

    待鼠标靠近了再自动像鬼一样伸出头来!! = =b
    这里先谢谢sp1234()
    我去试一下先!
    看可否!
      

  5.   

    唉,现在才发现要求不是这样的。
    郁闷
    例如:
    原来的要求是这样:
    物品   仓库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个表之间只有区域有关,其余无关。
    这样该怎么写呢?
      

  6.   

    交叉表的查询你可以去 SQL 板块问问,直接得到自动产生宏并使用 EXEC 查询的结果。我上面只是说明程序中可以用SQL替代大段的代码。