Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
Delphi 2007 Enterprise
|
Re: Datenimport: DS einfügen oder ersetzen, wie am geschickt
12. Mär 2008, 12: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.
|
|
Zitat
|