Zitat von
Tempdir:
Das Programm umzubauen dass es ohne Table-Komponenten läuft wäre ziemlich aufwändig
So wild ist das nicht.
Nimm einfach zusätzlich eine
Query mit auf das Formular.
Die
SQL-Abfrage (Property
SQL) sieht dann so aus:
SELECT * FROM Tabellennamen WHERE 0=1
Statt
TdbTable1 verwendest du den Namen der
Query.
Zusätzlich wird alle 1000 Datensätze die
Query geschlossen und neu geöffnet.
Dies verhindert den immer weiter zunehmenden Verbrauch an Arbeitsspeicher.
Delphi-Quellcode:
for i:=0 to 9999999 do
begin
if (i mod 1000) = 0 then
begin
query1.close;
query1.open;
end;
query1.Append;
//Fill dataset with data
for a := 2 to (151) do
begin
//Insert dword data into table field
query1.Fields[a-1].AsInteger := i;
end;
//Save dataset to archive-database
query1.Post;
end;
Ganz klar ist, dass die Verwendung von INSERT-Anweisungen wie in Beitrag #4 empfohlen,
die performanteste und Speicherplatzschonenste Möglichkeit ist,
aber mit obigem Sourcecode klappt es auch ganz gut.