procedure TForm1.BitBtn1Click(Sender: TObject); var i,j:integer; begin table1.TableName:='table_b.db'; table1.open; table2.TableName:='table_a.db'; table2.open; i:=table1.RecordCount ;
for j:=1 to i do begin table2.Insert; table2.Fields[0].asstring:=table1.Fields[0].asstring; table2.Fields[1].asstring:=table1.Fields[1].asstring; table2.post;
if j<>i then table1.Next; end;
table1.close; table2.close; end;
table_a,table_b为ttable控件 你可以用控件来实现。单纯用sql好像比较麻烦。 table_A,Tabel table_a.first; while not table_b.eof then begin Table_a.insert; Table_a.FieldByName('..').Asinteger:=Table_b.FieldByName('..').Asinteger; ... Table_a.post; Table_b.next; end;
结构相同,那用sql一句话不就完了。 insert into table_a select * from table_b
如果有主键和索引或是自动增值的字段,那你就注意加入详细的字段名称了 insert into table_a(field1,field2..) select field1,field2... from table_b
我用过,绝对OK
var i,j:integer;
begin
table1.TableName:='table_b.db';
table1.open;
table2.TableName:='table_a.db';
table2.open;
i:=table1.RecordCount ;
for j:=1 to i do
begin
table2.Insert;
table2.Fields[0].asstring:=table1.Fields[0].asstring;
table2.Fields[1].asstring:=table1.Fields[1].asstring;
table2.post;
if j<>i then
table1.Next;
end;
table1.close;
table2.close;
end;
你可以用控件来实现。单纯用sql好像比较麻烦。
table_A,Tabel
table_a.first;
while not table_b.eof then
begin
Table_a.insert;
Table_a.FieldByName('..').Asinteger:=Table_b.FieldByName('..').Asinteger;
...
Table_a.post;
Table_b.next;
end;
insert into table_a select * from table_b
insert into table_a(field1,field2..) select field1,field2... from table_b
BatchMove1.source=table_a
BatchMove1.mode=batappend
BatchMove.execute