Hai Manfred,
hier mal eine kurzes Beispiel wie ich es bei zwei Tabellen machen würde. Hierbei ist in Tabelle2 das Feld
tabelle1_id der ForenKey auf die ID von Tabelle1.
Delphi-Quellcode:
uses
ActiveX, ComObj;
function Neue_GuID:
String;
var
guidWork: TGUID;
begin
CoCreateGuid(guidWork);
Result := GUIDToString(guidWork);
end;
procedure Tib.Button1Click(Sender: TObject);
var
oldID:
string;
newID:
string;
begin
Query2.Close;
Query2.SQL.Text := '
UPDATE tabelle2 SET tabelle1_id = :newID WHERE id = :oldID';
Query2.ParamCheck := True;
Query1.Close;
Query1.SQL.Text := '
SELECT id FROM tabelle1';
Query1.Open;
while not (Query1.Eof)
do
begin
newID := Neue_GuID;
oldID := Query1.FieldByName('
id').AsString;
Query1.Edit;
Query1.FieldByName('
id').AsString := newID;
Query2.ParamByName('
newID').AsString := newID;
Query2.ParamByName('
oldID').AsString := oldID;
Query2.ExecSQL;
Query1.Next;
end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"