Den ZQuery.text vor die Schleife zu ziehen, statt in der Schleife zu haben, wie in Post 1 bringt sage und schreibe rund 30 sec.
Jetzt habe ich die Parameterliste eingefügt und es passiert absolut nichts. Zeitmessung zeigt 0,00
Wo ist der Fehler?
Delphi-Quellcode:
var i:Integer;
var startzeit,stopzeit : TDateTime;
begin
startzeit := now;
Screen.Cursor := crHourGlass;
ZConnection.Database := 'c:\msql\firedb.fdb';
Zquery1.SQL.Text:='INSERT INTO TestTabelle (Wert1, Wert2) VALUES(:v1, :v2), (:v3, :v4), (:v5, :v6), (:v7, :v8), (:v9, :v10)';
while i <= SG1.RowCount-1 do
begin
with ZQuery1.params do
begin
ParamValues['v1']:=SG1.Cells[0, i];
ParamValues['v2']:=SG1.Cells[1, i];
ParamValues['v3'] := SG1.Cells[0, i + 1];
ParamValues['v4'] := SG1.Cells[1, i + 1];
ParamValues['v5'] := SG1.Cells[0, i + 2];
ParamValues['v6'] := SG1.Cells[1, i + 2];
ParamValues['v7'] := SG1.Cells[0, i + 3];
ParamValues['v8'] := SG1.Cells[1, i + 3];
ParamValues['v9'] := SG1.Cells[0, i + 4];
ParamValues['v10']:= SG1.Cells[1, i + 4];
end; // with
ZQuery1.ExecSQL;
i := i+5;
end; // i
Screen.Cursor := crDefault;
stopzeit := now;
Panel1.Caption :='SuchZeit : '+ FormatDateTime('nn:ss:zzz', StopZeit - StartZeit) ;
end;
Indizes existieren nicht,
Trigger (was auch immer das ist) auch nicht.