为什么在仓库中减一不行,而添加记录到统计表中可以?
 {获得组件中的数据}
    scs:=combobox1.Text;
    xh:=combobox2.Text;
    xsjg:=edit1.text;
    zk:=edit2.text;
    sj:=edit3.text;
    xsrq:=label7.Caption;
    xssj:=label6.Caption;
   {把销售记录添加到统计表中}
    frmtj.Hide;
    datamodulexs.Tabletj.open;
    frmtj.DBGrid1.ReadOnly:=false;
    datamodulexs.Tabletj.Insert;
    datamodulexs.Tabletj.FieldByName('xsrq').AsString:=xsrq;
    datamodulexs.Tabletj.FieldByName('xssj').AsString:=xssj;
    datamodulexs.Tabletj.FieldByName('scs').AsString:=scs;
    datamodulexs.Tabletj.FieldByName('xh').AsString:=xh;
    datamodulexs.Tabletj.FieldByName('xsjg').AsString:=xsjg;
    datamodulexs.Tabletj.FieldByName('zk').AsString:=zk;
    datamodulexs.Tabletj.FieldByName('sj').asstring:=sj;
    datamodulexs.Tabletj.Post;
    datamodulexs.Tabletj.CachedUpdates:=true;
    datamodulexs.tabletj.CachedUpdates:=false;
    datamodulexs.tabletj.close;
    frmtj.Close;
    {把销售的商品在仓库表中减一}
    frmsk.Hide;
    datamodulexs.Querysk.open;
    datamodulexs.Querysk.sql.Clear;
    datamodulexs.Querysk.SQL.Add('update sk.db set syl=syl-1 where scs='
                                 +scs+' xh='+xh);
    datamodulexs.Querysk.SQL.Add('update sk.db set scl=scl+1 where scs='
                                 +scs+' xh='+xh);
    datamodulexs.Querysk.CachedUpdates:=true;
    datamodulexs.Querysk.CachedUpdates:=false;
    datamodulexs.Querysk.close;
    frmsk.Close;

解决方案 »

  1.   

    {把销售的商品在仓库表中减一}
        frmsk.Hide;
        datamodulexs.Querysk.open;
        datamodulexs.Querysk.sql.Clear;
        datamodulexs.Querysk.SQL.Add('update sk.db set syl=syl-1,scl=scl+1 where scs='  +scs+' xh='+xh);
        datamodulexs.Querysk.CachedUpdates:=true;
        datamodulexs.Querysk.CachedUpdates:=false;
        datamodulexs.Querysk.close;
        frmsk.Close;
      

  2.   

    上面出错的代码改为以下方法,但还是出错,请指教!
    ————————————————————————————
    {把销售的商品在仓库表中减一}  
    datamodulexs.Querysk.close;
        datamodulexs.Querysk.sql.Clear;    datamodulexs.Querysk.SQL.Add('update sk set syl=syl-1,scl=scl+1 where xh='+xh);
        try
        datamodulexs.Querysk.Open;
        Except
        datamodulexs.Querysk.ExecSQL;
        end;
    ——————————————————————————————————————
    谢谢了!