Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten schneller kopieren (https://www.delphipraxis.net/7546-daten-schneller-kopieren.html)

Taladan 15. Aug 2003 11:55


Daten schneller kopieren
 
Ich nutze eine stammtabelle und kopiere die daten von dieser stammtabelle immer wieder in eine dynamische tabelle wo diese mit unterschiedlichen Daten (Mehrzahl von Datum ist gemeint :wink: ) abgespeichert und geändert werden sollen.

Leider dauert der kopiervorgang bei (nur) 27 Datensätzen mehr als 15 sekunden. Da dieses Programm auch auf anderen langsameren Rechnern laufen soll, dauert es mir VIEL zu lange. wer kann einen Tipp geben. ich kopiere die daten folgendermaßen.

Delphi-Quellcode:
     hauptform.table2.first;
     while not (hauptform.table2.Eof) do begin
           hauptform.table4.Append;
           hauptform.table4hauptgebiet.value := hauptform.table2hauptbereich.asinteger;
           hauptform.table4nebengebiet.value := hauptform.table2unterbereich.value;
           hauptform.table4anzahl.value := hauptform.table2anzahl.value;
           hauptform.table4verteiler.value := hauptform.table2verteiler.value;
           hauptform.table4datumderverteilung.value := strtodate(combobox1.text);
           hauptform.table4.post;
           hauptform.table2.next;
           hauptform.table4.first;
     end;

Frank2269 15. Aug 2003 12:53

Re: Daten schneller kopieren
 
Hallo, versuche mal die Komponente TBatchMove.

Siehe in der Delphi Hilfe nach.

MrSpock 16. Aug 2003 21:05

Re: Daten schneller kopieren
 
Hallo Taladan,

das mit dem BatchMove ist eine gute Idee.

Zu deinem Code aber noch 2 Hinweise: zunächst kannst du dir das Table4.First am Ende jeder Schleife sparen; zweitens: wenn eine oder beide Tabellen mit Anzeigeelementen verbunden sind, solltest du vor dem Kopieren für die entsprechende(n) Tabelle(n) DisableControls und am Ende wieder EnableControls aufrufen, das beschleunigt den Schleifendurchlauf extrem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz