请帮我看看这些代码,立即结贴!
with table1 do
begin
  close;
  sql.clear;
  sql.sql.add('update Goods set   G_Amount=Goods.G_Amount+TempTable.T_Amount from Goods,Temptable where Goods.G_Code=Temptable.T_Code and TempTable.T_Amount is not null');
  execsql;
end;执行的SQL语句在SQL Server 中能够成功运行,在DelPhi中也能够运行,但是Goods.G_AMount中的数据不能更新!请大家看看!

解决方案 »

  1.   

    使用ADOQuery吧。用ADOTable不行的
      

  2.   

    检查一下你Goods表中的G_Amount是不是空的(Null),Null加上任何值都为Null
      

  3.   

    sql.sql.add('update Goods set G_Amount=isnull(Goods.G_Amount,0)+isnull(TempTable.T_Amount,0) from goods,Temptable where Goods.G_Code=Temptable.T_Code and TempTable.T_Amount is not null');
      

  4.   

    同意 楼上的,首先看看你的表
    对了,程序运行时,是否提示有些字段不能为null如果是,那多半就是你数据库中有些字段设置不能够为空
    然后参考 AWolfBoy(龍行江湖) 的,用adoquery,
    好象adotable 没有sql执行功能!~~(呵呵,我也没有试过,让大家^_^)
      

  5.   

    同意haoco(程序员)\AWolfBoy(龍行江湖)
      

  6.   

    数据不能更新的情况多的很,如果是三层结构那修改处于事物中,可能是其他的对象没有
    SetComplete;
    楼主把经历放到你的条件语句中,从无条件到都加上,一一看看每个条件是否达到了预期的效果!
      

  7.   

    我当然是用ADOQuery,在相同的数据,相同SQL语句,相同的记录的情况下,在SQL Server 中可以更新,在Delphi中确不能更新,不知为什么!