例:
   知道A表的code,name,sex,dept其中
     條件  edit1.text=dept 情況下有很多條記錄
   而這些記錄加上
   from1 中edit2.text,edit3.text的內容inster到b表.
請多指教
謝謝

解决方案 »

  1.   

    var
      变量1:类型
    根据类型给变量1置空(如:变量1 = 0 或者变量1 = '');
    sql := 'select 字段名 from A表 where dept = ' + #39 + Edit1.text + #39;
    adoquery1.close;
    adoquery1.Sql.text := sql;
    adoquery1.open;
    while not adoquery1.eof do
    begin
      变量1 = 变量1 + adoquery1.fieldbyname('字段名').asinteger;//或者asfloat或者asstring;
    end;
      变量1 := 变量1 + Edit2.text + Edit3.text;//或者变量1= 变量1 + strtoint 
                                               //edit2.text)+ strtoint(edit2.text)或者 
                                               //用strtofloat转换
    sql ;= 'insert into b表(字段) valuse(字段值)'
    adoconnection.execute(sql);
      

  2.   

    上面的有点错误var
      变量1:类型
    根据类型给变量1置空(如:变量1 = 0 或者变量1 = '');
    sql := 'select 字段名 from A表 where dept = ' + #39 + Edit1.text + #39;
    adoquery1.close;
    adoquery1.Sql.text := sql;
    adoquery1.open;
    adoquery1.first;
    while not adoquery1.eof do
    begin
      变量1 = 变量1 + adoquery1.fieldbyname('字段名').asinteger;//或者asfloat或者asstring;
       next;
    end;
      变量1 := 变量1 + Edit2.text + Edit3.text;//或者变量1= 变量1 + strtoint 
                                               //edit2.text)+ strtoint(edit2.text)或者 
                                               //用strtofloat转换
    sql ;= 'insert into b表(字段) valuse(字段值)'
    adoconnection.execute(sql);
      

  3.   

    var  
      v1,v2,v3,v4:datatype;adoquery1.close;
    adoquery1.sql.text:='select * from A where dept='''+trim(edit1.text)+'''';
    adoquery1.prepared;
    adoquery1.open;
    adoquery1.first;
    while not adoquery1.eof do
    begin
       v1 = adoquery1.fieldbyname('code').asinteger;//或者asfloat或者asstring;
       v2 =  adoquery1.fieldbyname('name').asinteger;//
       v3 =  adoquery1.fieldbyname('sex').asinteger;//
       v4 = adoquery1.fieldbyname('dept').asinteger;//
       adoquery2.colse;
       adoquery2.sql.text:='insert into b表(字段) valuse(v1,v2,v3,v4,'''+trim  (edit2.text)+''','''+trim(edit3.text)+''')';
       adoquery2.prepared;
       adoquery2.exesql;
       adoquery1.next;
    end;
      

  4.   

    hfcjt(阿俊) ( ) while not adoquery1.eof do
    這個循環不用結尾嗎
      

  5.   

    query1.sql.text := 
    format('insert into b select code,name,sex,dept,''%s'',''%s'' from a where dept = ''%s'' ',[Edit2.text,edit3.text,edit1.text]);
      

  6.   

    query1.sql.text := 
    format('insert into b(对应列列表) select code,name,sex,dept,''%s'',''%s'' from a where dept = ''%s'' ',[Edit2.text,edit3.text,edit1.text]);
      

  7.   

    hfcjt(阿俊)您好. ka_date.adoplxz.sql.text:='insert into lita_xlka(k_emp_code,k_dept_code) valuse ( v1,v2,'''+trim(edit1.text)+''','''+trim(edit2.text)+''',''')';我執行時提示說valuse 附近的語法不正确.
      

  8.   

    hfcjt(阿俊)
    我看見哪.是values那字母打錯哪