请问各位帅哥,亮妹:
  如何通过查询,把该查找到的记录,导入到别一张临时表,然后对该库存进行加减!
var s:string;
s:=edit1.text;
if table1.locate('fz',s,[]) then
table2.field.fields[0].asstring:=table1.field.fields[0].asstring;
table2.field.fields[1].asstring:=table1.field.fields[1].asstring;
table2.field.fields[2].asstring:=table1.field.fields[2].asstring;
table2.post;
加减省略。
效果不行,请问有何高招呢!!!

解决方案 »

  1.   

    可以通过query的repuestlive属性设置可以编辑查询的结果
      

  2.   

    用sql语句
    INSERT INTO 目的表 (SELECT * FROM 源表 where xxxxx条件)INSERT INTO 目的表(目的列名A,目的列名B)(SELECT 源列名A,源列名B FROM 源表 where 条件)可以用条件来控制要添加倒目的表的行。
      

  3.   

    同意楼上意见
    另外,库存加减可以
    select X,filed1+filed2 as xxx from 目的表 where 条件或update
      

  4.   

    这个我试过啦!用sql里的insert into 语句会报错因为我是用stringgrid组件来显示数据,然后把该数据保存到一张表中,氢以在把字符类型转奂成货币类型会出错在SQL里面(可能是在语法在有错误。我今天用adotable组件实现了该功能!
    我在DELPHI里的代码是这样的!!各位帅哥亮妹们多提意见哦!!!
    query1.close
    query1.sql.clear;
    query1.sql.add('insert into  table1');
    query1.sql.add('(name,age,price)');
    query1.sql.add('values(');
    query1.sql.add('''+stringgrid1[1,i]+''',');
    query1.sql.add('''+strtoint(stringgrid1[2,i]+''',');
    query1.sql.add('''+strtocurr(stringgrid1[3,i]+''')');
    query1.execsql;
    query1.open;
    请问各位上面的代码有那个地方错了吗!!!
      

  5.   

    哦,还有个问题,就是如何对stringgrid的列进行相加减哦!以及各列的相加哦
    我的代码如何:
    var i:integer;
       s:float;
    begin
     for i:= 1 to stringgrid1.rowcount do
       begin
        s:=s+strtofloat(stringgrid1.cells[1,i])*strtofloat(stringgrid1[2,i]);
        edit1.text:=floattostr(s);
       end;
    end;
    我用这段代码,英文报错大体意思是说"不能转换成实数类型";请问如何解决!