注册 登录
编程论坛 Delphi论坛

怎么计算未存入数据库的字段?

黑羽小冰 发布于 2009-11-23 15:40, 837 次点击
DBGridEh显示成如下,以下数据未存入数据库,要点保存才批量更新
Name    Qty    TotalQty
A        10      30
A        20      30
B        5       25
B        20      25

数据库中只存了Name和Qty,TotalQty是计算列
A的TotalQty(30)=Qty(10+20)
B的TotalQty(25)=Qty(5+20)

这个要怎么实现?
4 回复
#2
黑羽小冰2009-11-23 15:41
我没有可用分了。。。
先帮解决问题,可次再给分行不行?
#3
shuang2009112009-12-23 22:10
select B.name,B.qty,A.totalqty  from table1 B
left join (select name, sum(qty) totalqty from table1 group by name) A on B.name = A.name
#4
mohao1632009-12-24 09:57
var
  s1,s2,s3:String;
begin
   while not DBGridEh.DataSource.DataSet.Eof do
   begin
     //获取DBGrid中的数据
     s1 := DBGridEh.DataSource.DataSet.fieldByName('NAME').AsString;
     s2 := DBGridEh.DataSource.DataSet.fieldByName('Qty').AsString;
     s3 := DBGridEh.DataSource.DataSet.fieldByName(TotalQty).AsString;
     DBGridEh.DataSource.DataSet.Next;
   end;

[ 本帖最后由 mohao163 于 2009-12-24 10:00 编辑 ]
#5
mohao1632009-12-24 09:59
你把获取到得s1,s2,s3 insert或者update到你要的表就实现点保存才批量更新了
1