数据库中的字段和关系是这样的:单价*数量=金额
当修改数量时,修改金额的最常见写法如何写?我是这样写的:
update 表 set 金额=单价*:新数量
ADOQuery1.Parameters.ParamByName('新数量').Value:=Format('%.2f',[StrToFloat(Edit1.Text)]);

解决方案 »

  1.   

    这个要看你具体的实现了,可以直接在grid上修改,也可以通过修改界面,用update更新(这个需要重新load数据才能看到结果)
      

  2.   

    那象我的这种写法对不对呢?我有两点困惑:
    1。金额=单价*:新数量 与 金额=单价*(:新数量) 加不加括号是否一样的效果?
    2。('新数量').Value:=Format('%.2f',[StrToFloat(Edit1.Text)]); 后面的值是字符型的,是不是在传入参数计算时自动变为数字了?
      

  3.   

    建议取消“金额”字段。
    可以在 select 语句中加入 金额=单价*数量:
    select 金额=单价*数量, ... from 表
    或在程序中用计算字段来体现“金额”。
      

  4.   

    1。恩,同上,一般是不需要金额字段,通过视图或直接select sl*dj 来达到效果,不过有时也特定需要金额,
    加不加括号都是一样的,2('新数量').Value:=Format('%.2f',[StrToFloat(Edit1.Text)]); 后面的值是字符型的,是不是在传入参数计算时自动变为数字了? edit1.text 是字符串,通过strtofloat转换成float型,在通过%.2f转为保留2为小数 数字,