Um alle Datensätze einer
ADO Tabelle zu löschen:
Delphi-Quellcode:
procedure DeleteADOTable(con:TADOConnection; const tablename:string);
begin
Assert(Assigned(con));
con.execute('DELETE FROM '+tablename);
end;
Um einen Datensatz zu kopieren:
Delphi-Quellcode:
procedure CopyRecord(a,b:TDataset);
var
i : integer;
f : TField;
begin
for i:=0 to a.fields.Count-1 do
begin
f := b.FindField(a.Fields[i].FieldName);
if Assigned(f) then
f.Value := a.Fields[i].Value;
end;
end;
Um ALLE Datensätze zu kopieren:
Delphi-Quellcode:
procedure CopyAllRecords(a,b:TDataset);
begin
while not a.Eof do
begin
b.Append; // neuen, leeren Datensatz anhängen
CopyRecord(a,b);
b.Post; // abschicken
a.Next;
end;
end;
Und jetzt noch das Ganze zusammenbauen.
Du brauchst jeweils eine ADOConnection für jede Datenbank.
1.) alte Daten löschen
DeleteADOTable(ADOConnectionA, 'MeineTabelle');
2.) zwei ADOQuerys erstellen
Delphi-Quellcode:
ADOQueryA.SQL.Text := 'SELECT * FROM MeineTabelle';
ADOQueryA.Open;
Das Gleiche für ADOQueryB und jeweils das Property Connection zuweisen.
3.) Daten kopieren
CopyAllRecords(ADOQueryA, ADOQueryB);
Das wäre so ganz grob das "Kochbuch".