Habe mir die Northwind-Demo-Datenbank für
ACCESS besorgt. Darin erzeuge ich mir zwei Tabellen ORIGINAL und KOPIE mit (ID, NACHNAME, VORNAME) als Spalten. So wird kopiert mit anschließendem Requery:
Delphi-Quellcode:
const
SQL_COPY
= '
INSERT INTO kopie (id, nachname, vorname) '
+ '
SELECT id, nachname, vorname FROM original '
+ '
WHERE id = :id';
procedure TDemoForm.btnCopyClick(Sender: TObject);
var
id: integer;
begin
id := ADODataSet1.FieldValues['
id'];
with ADOQuery
do
begin
SQL.Text := SQL_COPY;
Parameters.ParseSQL(
SQL.Text, true);
Parameters.ParamValues['
id'] := id;
try
ExecSQL;
ADODataSet2.Requery([]);
except
on E:
Exception do
ShowMessage(E.
Message);
end;
end;
end;
Wenn du das Demo-Projekt öffnest, dann musst du in der ADOConnection den Pfad zur Datenbank anpassen. Kannst auch deine eigene eintragen. Die beiden Testtabellen werden beim Programmstart erzeugt und du kannst sie mit dem Drop-Button wieder in den Eimer treten.
Viel Spaß
marabu