对于同一表的的操作;如下:
id   name    id2
1     a      1
1     b      1
1     c      1
我要添加数据
id   name    id2
1     a      2
1     b      2
1     c      2
然后保存。
求快速的方法:

解决方案 »

  1.   

    你是说先查出记录然后循环insert 这样太慢了。特别是数据量大时!
      

  2.   

    ADOQuery1.SQL.Add('select * from 表");
    data1.ADOQuery.Open;
    for I:=0 to ADOQuery1..RecordCount-1  do
     begin
      ADOQuery2.Clear;
      ADOQuery2.SQL.Add("insert into  表 (ID1,name,id2) values (ADOQuery1.FieldByName ('ID1'),'''+ADOQuery1.FieldByName('ID1')+''',2) ");
      ADOQuery2.Execsql
      ADOQuery1.Next;
    end;
      

  3.   

    现在怎么都流行用ADO啊!!
    呵呵!!
    clientdataset.close;
    clientdataset.commandtext:='insert into  表 (ID1,name,id2) values'+   
                            (clientdataset2.FieldByName('ID1')+ 
                            ','''+clientdataset2.FieldByName('ID1')+')''';
    clientdataset.open;