Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#19

Re: Datenmenge ist weder im Editiert noch im Einfügemodus...

  Alt 14. Jul 2009, 16:47
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.
Andreas
  Mit Zitat antworten Zitat