Thema: Delphi Performance TpFIBDataset

Einzelnen Beitrag anzeigen

Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#1

Performance TpFIBDataset

  Alt 23. Okt 2008, 12:45
Datenbank: Firebird • Version: 2.0 • Zugriff über: FIBPlus
Ich möchte die Daten eine Tabelle gerne in ein Stringgrid laden. Das StringGrid hat dazu mehrere Spalten (Columns).

Folgender Code:

Delphi-Quellcode:
var
  Dataset: TpFIBDataset;

begin
  Dataset.DisableControls;
  Dataset.First;
  while NOT Dataset.Eof do begin
    for i := 0 to StringGrid.Columns.Count - 1 do begin
      StringGrid.Cells[i, Dataset.RecNo] := Dataset.FindField(StringGrid.Columns[i].DataField);
    end;
    Dataset.Next;
  end;
  Dataset.EnableControls;
end;
Dummerweise benötigt dieses Vorgehen für knapp 1000 Datensätze um die 4sec??? Die Variante mit einem simplen FIBQuery hingegen erledigt das ganze in Bruchteilen davon...

Kommentiert man Zeile 9 (... Dataset.FindField ...) hingegen aus, so beträgt die Laufzeit nur noch Millisekunden. Kann es ein, dass FindField extrem langsam ist? Welche Vorschläge zur Performancesteigerung könnt ihr machen?

Vielen Dank
  Mit Zitat antworten Zitat