我用ADOQuery在一个表中查询,
要把查询的结果放到全部放到另一个表中
我用Fieldbyname().asstring好象只能把一个记录放到另一个表中
怎么才能把所有查询的数据都复制过去的呢

解决方案 »

  1.   

    insert into A(Field1,Field2)
    select FieldA,FieldB
    from B
      

  2.   

    把b表中查询出的记录放到a表中
    select * into a from b
      

  3.   

    要用两次ADOQuery吗?
    帮忙把代码写一下
    谢了
      

  4.   

    同一个库里的两个表互导数据用一个ADOQuery即可
    如果两个表结构一样则很简单
    ADOQuery1.Close;
    ADOQuery1.SQL.Text:=insert into 表B select * from 表A'
    ADOQuery1.ExecSQL;如果两个表结构不一样则必须指定字段。
      

  5.   

    不需要用Fieldbyname().asstring复来复去的嘛
    我去试试 
    还有我的数据库是ACCESS的
      

  6.   

    两种方法:
      1.  SELECT * into 表B from 表A  或者 insert into 表B select * from 表A
     2.按你自己的方法查询出结果后,做一个循环把数据添加到表中
         while not ADOQuery1.eof do
             begin
             *********
             end;
      

  7.   

    写sql语句,用adocommand控件insert into A(Field1,Field2)
    select FieldA,FieldB
    from B
      

  8.   

    insert into A
    select FieldA,FieldB,.//要与A的顺序和字段个数都相同,如果A的字段有不同的可用默认值.
    from B
    where 条件
      

  9.   

    如果是在表之间来写数据,就没有必要使用ADOQUERY,你只要在两个表结构相同的情况下,这样写就可以了
    INSERT INTO A SELECT * FROM B
      

  10.   

    ADOQuery1->SaveToFile("MyFile");
    ADOQuery1->LoadFromFile("MyFile");