Einzelnen Beitrag anzeigen

Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Datenimport: DS einfügen oder ersetzen, wie am geschickt

  Alt 12. Mär 2008, 11:15
Ich mach das immer anderst:
(Keine Ahnung, ob das performant oder glücklich oder schön ist. Das ist mir aber egal. Es funktioniert. )
Delphi-Quellcode:
Query.SQL = 'SELECT Feld_1, Feld_2, ..., Feld_n FROM tabelle WHERE Feld_x = irgendwas';
Query.Open;

if Query.Locate('Feld_a, Feld_b, Feld_c', VarArrayOf([Wert_1, Wert_2, Wert_3]), [loCaseInsensitive]) then
begin
  Query.Insert;
  // Felder setzen, die nur bei insert gesetzt werden sollen
  Query.FieldByName('Feld_x').AsString = 'abcd';
end
else
begin
  Query.Edit;
  // Felder setzen, die nur bei update gesetzt werden sollen
  Query.FieldByName('Feld_y').AsString = 'efgh';
end;
// Felder setzen, die immer gesetzt werden sollen
Query.FieldByName('Feld_z').AsString = 'ijkl';

// in DB eintragen
Query.Post;
Query.Close;
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat