Delphi-Quellcode:
...
adoQuerySeries.Edit;
adoQuerySeries.Append;
Das ist doch Käse; entweder Edit ODER Append, aber nicht Beides hintereinander.
>>also ich sage nur, verabschiede dich von diesem Append/Post.
>>Ersetze es durch normales
SQL.
Normales
SQL (also INSERT INTO ...) ist ungefähr 5 Mal schneller und braucht weniger lokale Resourcen.
Allerdings ist der Programmieraufwand zum Daten einfügen etwa doppelt so hoch
und man muss auf angenehme Dinge (z.B. Event Before Post) verzichten.
Mit dem Einfügen über's Dataset ist man manchmal auch flexibler:
Delphi-Quellcode:
Dataset.Append; // neuer Datensatz
Dataset['IdUser'] := ....
Dataset['LastChange'] := Now;
// kein Problem, wenn das Feld Geburtstag in der Tabelle fehlen sollte
if Assigned(dataset.FindField('Geburtstag'))) then
Dataset['Geburtstag'] := ...
Dataset.Post;
Es kommt halt immer auf den Zweck an.
Wenn die Anzahl der Records * Anzahl der Felder > 5000 *) dann würde ich aus Geschwindigkeitsgründen
INSERTS verwenden; darunter mag ich eher das einfache Handling von Datasets.
*) Bitte nur als ganz groben Anhaltspunkt nehmen.