Einzelnen Beitrag anzeigen

mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#34

AW: Datensätze schnell einfügen bzw. ersetzen

  Alt 26. Mai 2014, 21:38
Die Klammer ist falsch. Ich habe gerade kein Delphi zu Hand. Aber so sollte es gehen:

Delphi-Quellcode:
var
  sL, slF: TStrings;
  i: Integer;
...
begin
  try
    sl := TStringlist.Create;
    slf := TStringList.Create;
    slf.Delimiter := ';';
    sl.add( 'Susi'; 'Müller'; ...
    ..
    IBQuery.SQL.Text := 'update or insert into Personen ( vorname, nachname, gebdat) values ( :vorname, :nachname, :gebdat ) MATCHING ( vorname, gebdat) RETURNING id;';
    for i := 0 to sl.Count -1 do
    begin
      slf.DelimitedText := sl[i];
      IBQuery.Params[0].Value := slf[0];
      IBQuery.Params[1].Value := slf[1];
      IBQuery.Params[2].Value := slf[2];
      IBQuery.ExecSQL;
      id := IBQuery.Params[3].Value; //oder id := IBQuery.ParamByName('RET_ID').Value;
      ...
    end;
  finally
    slf.Free;
    sl.Free;
   ...
end;
Markus Kinzler
  Mit Zitat antworten Zitat