ich habs mal umgebaut:
if CheckBox2.Checked
dann FeldListe einmal aufbauen
else Immer neu Bilden
Delphi-Quellcode:
if CheckBox2.Checked then
Begin
for Fld := 0 to q.Fields.Count -1 do
Begin
if Fld > 0 then FeldListe := FeldListe + ',';
FeldListe := FeldListe + q.Fields[Fld].FieldName;
end;
end;
for DS := 1 to 30000 do
Begin
if not CheckBox2.Checked then FeldListe := '';
WertListe := '';
INC(GesGearb);
for Fld := 0 to q.Fields.Count -1 do
Begin
FeldName := q.Fields[Fld].FieldName;
if not CheckBox2.Checked then if FeldListe <> '' then FeldListe := FeldListe + ',';
if WertListe <> '' then WertListe := WertListe + ',';
if ((FeldName = 'ZAEHLER') or (FeldName = 'LO'))
then Wert := IntToStr(DS)
else
Begin
case q.Fields[Fld].DataType of
ftSmallint, ftInteger : Wert := IntToStr(123);
ftFloat,FTBCD : Wert := '1.23';
ftDate : Wert := #39 + DateToStr(NOW) + #39;
ftTime : Wert := #39 + TimeToStr(NOW) + #39;
ftDateTime : Wert := #39 + DateTimeToStr(NOW) + #39;
else Wert := #39 + 'asd' + #39;
end;
end;
if not CheckBox2.Checked then FeldListe := FeldListe + FeldName;
WertListe := WertListe + Wert;
end;
Ergebniss:
Feldliste immer aufbauen : 00:30:953
FeldListe einmal aufbauen : 00:30:325
Durchschnitt bei ca 10 Durchläufen